Python 从Pandas中的子数据帧列表创建子地块

Python 从Pandas中的子数据帧列表创建子地块,python,pandas,matplotlib,subplot,Python,Pandas,Matplotlib,Subplot,我正在做一个电视游戏销售项目 该数据的前5条记录为(从几列中取出,留有空格): 我想做的是通过平台(控制台)比较索尼和任天堂的体裁销量。因此,到目前为止,我所做的是首先创建Sony子数据帧,方法是执行Sony\u spt=Sony.loc[Sony['Genre']=='Sports'].drop(columns=['Year','Publisher']),然后绘制。 此示例创建绘图: # Sony sports sub df sony_spt.groupby('Platform').sum()

我正在做一个电视游戏销售项目

该数据的前5条记录为(从几列中取出,留有空格):

我想做的是通过
平台
(控制台)比较索尼和任天堂的体裁销量。因此,到目前为止,我所做的是首先创建Sony
子数据帧,方法是执行
Sony\u spt=Sony.loc[Sony['Genre']=='Sports'].drop(columns=['Year','Publisher'])
,然后绘制。 此示例创建
绘图

# Sony sports sub df
sony_spt.groupby('Platform').sum().plot(kind='bar', figsize=(15, 7))

plt.xlabel('Platform')
plt.ylabel('Sales in $1m\'s')
plt.title('Sony sales in games per console for Sports genre')
plt.show()

我把我为任天堂和索尼收集的子
数据帧
放在
列表中。例如,我的索尼流派列表是
sony\u流派列表=[sony\u spt,sony\u msc,sony\u puz,sony\u sim,sony\u sgy,sony\u ftg,sony\u adv,sony\u rpy,sony\u sht,sony\u rac,sony\u plt,sony\u act]
。列出的所有类型包括:运动、杂项、拼图、模拟、战略、战斗、冒险、角色扮演、射击、赛车、平台游戏和动作


如何节省时间并在
子df的
列表中创建
子批次(如我演示的)以比较每个控制台/平台的类型销售?

您可以尝试
zip

sony_genre_list = [sony_spt, sony_msc, sony_puz, sony_sim, sony_sgy, sony_ftg, sony_adv, sony_rpy, sony_sht, sony_rac, sony_plt, sony_act]

# custumize nrows, ncols, figsize
fig, axes = plt.subplots(nrows=len(sony_genre_list), ncols=1, 
                         figsize=(7,30))

for df, ax in zip(sony_genre_list, axes.ravel()):
    df.groupby('Platform').sum().plot(kind='bar', ax=ax)
您还可以使用
groupby
,绕过创建
sony\u流派\u列表的过程:

for genre, df in sony.groupby('Genre'):
    ax = df.groupby('Platform').sum().plot(kind='bar')
for genre, df in sony.groupby('Genre'):
    ax = df.groupby('Platform').sum().plot(kind='bar')