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