如何根据两个变量的条件打印特定输出

2024-10-06 03:34:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据帧:

sentences

我想要这样的输出:

name1:

任务1:

句子1

句子2

任务2:

句子3

名称2:

任务1:

句子4

name3:

任务1:

句子5

任务2:

句子6

以下是我到目前为止所做的:

for name in df.Name.unique():
    print(name + ' :\n')
    for mission in df.Mission.unique():
        print(mission + ' :\n')
        for index, value in df.Phrases[df.Mission == mission].items():
            print(value)
            print()
    for index, value in df.Phrases[df.Name == name].items():
        print(value)
        print()
       
    print('\n')

但输出结果与我获得的不完全相同,我看到了错误之处,但我不知道如何处理它:

name1:

任务1:

句子1

句子2

句子4

句子5

任务2:

句子3

句子6

句子1

句子2

句子3

名称2:

任务1:

句子1

句子2

句子4

句子5

任务2:

句子3

句子6

句子4

name3:

任务1:

句子1

句子2

句子4

句子5

任务2:

句子3

句子6

句子5

句子6


Tags: namein名称dfforindexvalue句子
1条回答
网友
1楼 · 发布于 2024-10-06 03:34:50

您可以为自己的数据帧优化代码,但逻辑相同:

我的数据帧:

enter image description here

代码

for name in df.name.unique():
    print(name)
    for miss in df.mission.unique():
        print('  ' + miss)
        for sentence in df.sentences[(df.name == name) & (df.mission == miss)].tolist():
            print('    ' + sentence)

输出

name1
  mission1
    sentence1
    sentence2
  mission2
    sentence3
name2
  mission1
    sentence4
  mission2
name3
  mission1
    sentence5
  mission2
    sentence6

相关问题 更多 >