我有一个有3列1000多行的数据帧
df
day product order
2010-01-01 150ml Mask 9
2010-01-02 230ml Lotion 27
2010-01-03 600ml Shampoo 33
我想把每种产品细分如下:
^{pr2}$我就是这样做的
# 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循环得到所有的子集。在
我认为您可以使用} 和{a2}创建的
dict
来存储所有DataFrames
,它是用^{dict comprehension
:如果需要删除列
^{pr2}$product
,请使用子集[['day','order']]
或{a3}:看看是否有帮助:
为此,您可以使用^{} ,这正是您所需要的:
为了单独访问每个子组,可以使用与
^{pr2}$subtable
函数相对应的get_group
:最后,要获得一个字典中的所有子数据帧,可以循环
products
并删除product列本身:相关问题 更多 >
编程相关推荐