【发布时间】:2018-04-06 16:16:33
【问题描述】:
对编码和 pandas 完全陌生。
df
Date Particulars Inwards Code
1 2017-04-01 EFG 12800 01
2 2017-07-22 ABC 100 01
3 2017-09-05 BCD 10000 01
4 2018-03-13 ABC 2000 01
我想根据df['Particulars'] 列从这个df 输出3 个数据帧,即
输出: df1
Date Particulars Inwards Code
2 2017-07-22 ABC 100 01
4 2018-03-13 ABC 2000 01
df2
Date Particulars Inwards Code
1 2017-04-01 EFG 12800 01
df3
Date Particulars Inwards Code
3 2017-09-05 BCD 10000 01
我有办法通过:
df1 = df1.append(df.loc[df['Particulars'] == 'ABC'], ignore_index=False)
当我初始化Particulars 列表并制作数据帧,然后使用for loop 执行上述命令时。但我想知道sort 或groupby 是否会是更好的选择?以及如何应用它们我尝试了groupby 和sort,但无法获取数据框。
【问题讨论】:
-
在这种情况下你可以这样做:
df1 = df[df['Particulars'] == 'ABC']等等。 -
@pault 我试图避免将“详细信息”中的唯一项目列表作为 1000 行 df,然后在列表中设置空数据框(制作字典),然后循环遍历. :( 我希望有一种方法可以拆分基于数据框的“详细信息”列
-
[y for x ,y in df.groupby('Particulars')]
标签: python pandas dataframe pandas-groupby