根据2列中的多个值输出多个文本

Multiple texts output according to multiple values in 2 columns

由于我的工作,我开始在 pythonPandas 库)中编写代码。 这是一个口袋妖怪的例子,但我的真实 dataframe 更复杂。我不知道是否可以在 Pandas.

中完成

我的 dataframe 是这样的:

   Pokemon_Master      Pokemon 
1   ASH                pikachu
2   ASH                squirtle
3   ASH                charmander
4   BROOKE             onix
5   BROOKE             charmander
6   MISTY              squirtle
7   MISTY              charmander
8   GARY               onix 
9   PROF OAK           pikachu

我要做的是: 检查每个 Pokemon 属于哪个 Pokemon_Master 并为每个 Pokemon_Master 输出 .txt以下列格式:Ash_pokemons.txtBrooke_pokemons.txt 等。每个文件必须包含每个 Master 拥有的神奇宝贝,例如每个 .txt 文件将在 dataframe.
中发现神奇宝贝时逐渐与前一个文件连接 此外,将根据 Pokemon_Master 调用输出文本文件。 例如: 文件里面 ASH.txt

pikachu 
squirtle
charmander

和文件内部 BROOKE.txt

onix 
charmander  
squirtle

等..

我发现了很多基本功能,如lociterrowsconcatenateappend(用于合并文件),但我找不到如何合并的方法所有这些都是为了开发我的代码。

IIUC,试试:

for n, g in df.groupby('Pokemon_Master'):
    g[['Pokemon']].agg(' '.join).to_csv(f'{n}.txt', sep=' ', 
                                        index=False, 
                                        header=False)

如果Python版本低于3.6:

试试,

for n, g in df.groupby('Pokemon_Master'):
    g[['Pokemon']].agg(' '.join).to_csv('{}.txt'.format(n), sep=' ', 
                                        index=False, 
                                        header=False)