我正在尝试学习如何向一个开源项目提交请求请求。
因此,我从pandas-dev中选择了issue #23455。这是一个简单的文档错误。但是我意识到我不知道nrows在from_records中实际做什么。

我试过了

sales = [('Jones LLC', 150, 200, 50),
     ('Alpha Co', 200, 210, 90),
     ('Blue Inc', 140, 215, 95)]
labels = ['account', 'Jan', 'Feb', 'Mar']
df = pd.DataFrame.from_records(sales, columns=labels)


产生

    account  Jan  Feb  Mar
0  Jones LLC  150  200   50
1   Alpha Co  200  210   90
2   Blue Inc  140  215   95


作为输出。但是据我了解,如果执行以下操作:

df = pd.DataFrame.from_records(sales, columns=labels,nrows=1)


我在df中应该只有一行。相反,我的输出与上述df相同。

有人可以帮我弄这个吗?谢谢。

最佳答案

nrows是用于选择记录的前n个元素的参数。如果您看到该代码,则当前仅在迭代器上工作。可能由于某些原因,为什么只能使用我目前不知道的迭代器。

展示nrows用例的一个示例是将销售数据转换为迭代器。即

sales = iter([('Jones LLC', 150, 200, 50),('Alpha Co', 200, 210, 90), ('Blue Inc', 140, 215, 95)])

df = pd.DataFrame.from_records(sales,nrows=2)
           0    1    2   3
0  Jones LLC  150  200  50
1   Alpha Co  200  210  90

sales = iter([('Jones LLC', 150, 200, 50),('Alpha Co', 200, 210, 90), ('Blue Inc', 140, 215, 95)])

df = pd.DataFrame.from_records(sales,nrows=3)

           0    1    2   3
0  Jones LLC  150  200  50
1   Alpha Co  200  210  90
2   Blue Inc  140  215  95

09-25 19:59