from_records()的nrows参数在熊猫中做什么?

时间:2018-11-16 02:13:13

标签: python pandas dataframe open-source

我正在尝试学习如何向一个开源项目提交请求请求。 因此,我从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相同。

有人可以帮我吗?谢谢。

1 个答案:

答案 0 :(得分:1)

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