Python 如何避免使用iloc或硬编码索引号来动态地将单个数据帧中的行提取到多个子集中?
我的数据框看起来像这样Python 如何避免使用iloc或硬编码索引号来动态地将单个数据帧中的行提取到多个子集中?,python,pandas,numpy,pandas-groupby,pandas-datareader,Python,Pandas,Numpy,Pandas Groupby,Pandas Datareader,我的数据框看起来像这样 country1 state1 city1 District1 india 36 20 40 china 27 21 35 honkong 34 21 38 london 32 21 38 company technology car brand population adf java Ford 40 ydfh java Hyundai 19 klyu j
country1 state1 city1 District1
india 36 20 40
china 27 21 35
honkong 34 21 38
london 32 21 38
company technology car brand population
adf java Ford 40
ydfh java Hyundai 19
klyu java Nissan 47
hy6g dotnet Toyota 20
rghtr dotnet Hyundai 30
htryr dotnet hummer 12
我想从单个数据帧创建多个子集,我不想使用索引号或iloc函数,也不想硬编码索引号,因为它会在条目伦敦之后或最后一个条目之后过滤掉新条目
如果有任何新的条目出现,它也需要被捕获,有没有关于如何在熊猫身上表演或使用numpy的线索?
希望这个问题很清楚假设您的数据帧保存为df,您可以使用groupby并将分组的子数据保存到字典中以供将来参考
d = {}
for group, frame in df.groupby('country1'):
d[group] = frame
另外,如果您希望groupby乘法列,请按如下方式将列表传递给groupby
for group, frame in df.groupby(['country1', 'technology']):
d[group] = frame
你的问题很模糊。你问是否可以在熊猫或裸体动物身上做些什么,但不要说那是什么。您说希望从单个数据帧创建“多个子集”,但没有指定如何创建这些子集。是否按城市、汽车品牌、州进行筛选?就目前情况而言,我不确定你的问题是否能得到回答。非常感谢你的回答,实际的源数据形状不正确,这就是问题所在,我找到了解决方案