【问题标题】:Create multiple pandas dataframes based on column value根据列值创建多个熊猫数据框
【发布时间】:2019-08-17 00:50:34
【问题描述】:

我有一个 df,我想根据一列 (origin) 的值将其拆分为 5 个(命名为 df1 - df5)。我试过groupby 和其他一些东西(比如thisthis),但都没有成功。

我的 df 看起来像这样

     origin t_id    Group   ids            ...
0    g2     300     group2  23, 54, 24     ...
1    g      300     group2  1, 89          ...
2    g3     300     group10 155, 4, 90     ...
3    g5     300     group11 38, 13, 45.    ...
4    g4     300     group2  2.             ...

现在我已经将它分解为多个 .loc 语句,用于 origin 的每个唯一值,但必须有一种更简洁、更简洁的方法来执行此操作。

【问题讨论】:

标签: python python-3.x pandas


【解决方案1】:

应该这样做


a = []

for value in df['origin'].unique():
    a.append(df[df['origin']==value])

该数组将包含与唯一值相对应的数据帧。如果我误解了什么,请告诉我。

【讨论】:

  • 返回TypeError: 'method' object is not iterable
  • 请再试一次。 unique 应该作为函数调用
  • 这似乎可以运行,但是a 只是打印所有数据,而不是 df 名称列表。
  • 要访问一个特定的数据框,您必须执行 a[i]
  • 有没有办法在同一个代码块中自动命名它们。例如,df1-df5?
猜你喜欢
  • 2022-01-15
  • 2020-09-09
  • 1970-01-01
  • 2019-03-27
  • 2023-01-14
  • 2020-12-27
  • 2017-11-30
  • 2016-08-31
  • 2022-01-13
相关资源
最近更新 更多