【发布时间】:2017-07-31 10:41:08
【问题描述】:
我有一个包含 3 列和 1,000 多行的 DataFrame,
df
day product order
2010-01-01 150ml Mask 9
2010-01-02 230ml Lotion 27
2010-01-03 600ml Shampoo 33
我想将每个产品子集如下,
df_mask df_lotion df_shampoo
day order day order day order
2010-01-01 9 2010-01-02 27 2010-01-03 33
2010-01-09 8 2010-01-05 30 2010-01-04 25
2010-01-11 13 2010-01-06 29 2010-01-06 46
我就是这么干的,
# Create a product list
productName = df['product'].tolist()
# Subsetting
def subtable(df,productName):
return (df[(df['product'] == productName)])
# Subsetting
df_mask = subtable(df, '150ml Mask')
df_lotion = subtable(df, '230ml Lotion')
df_shampoo = subtable(df, '230ml Shampoo')
由于数据框有许多不同的产品,有什么方法可以让我一次使用 for 循环获取所有子集。
【问题讨论】:
标签: python pandas for-loop dataframe subset