python - 如何通过python中的键在循环中命名熊猫数据框?

Posted

技术标签:

【中文标题】python - 如何通过python中的键在循环中命名熊猫数据框?【英文标题】:How to name pandas dataframes in a loop by their key in python? 【发布时间】:2015-10-10 07:32:08 【问题描述】:

我想在循环中创建数据帧,但使用键命名每个数据帧,以免覆盖循环中的每个数据帧。

这是我的数据框的简化版本:

ID  Field  Value
1     A     1.1
2     A     1.2
3     A     2.4
4     B     1.7
5     B     4.3
6     C     2.2

所以在这种情况下,我希望得到 3 个名为 A、B 和 C 的数据框 所以这就是我累的:

df2= df.groupby(['Field'])
for key, group in df2:
   key = group.reset_index()

当然,每个连续循环都会覆盖名称“key”。 如何通过键命名循环中的每个数据帧?

我还想创建一个已创建数据框的列表以跟踪它们。

【问题讨论】:

【参考方案1】:

您想将对象存储在字典中:

df_dict = 
for key, group in df2:
   df_dict[key] = group.reset_index()

【讨论】:

【参考方案2】:

使用字典理解,更简洁的解决方案如下:

df_new = field: df.loc[df.Field == field, :] for field in df.Field.unique()

【讨论】:

以上是关于python - 如何通过python中的键在循环中命名熊猫数据框?的主要内容,如果未能解决你的问题,请参考以下文章

使用dictionary_1的键在dictionary_2的值中搜索匹配项[重复]

如何通过识别python Hadoop中的键来处理Mapreduce

python 中关于字典的键

为 ID 列生成的键在表记录中返回 null

通过键在 PriorityQueue 中查找元素

python第二十三课——dict中的函数