[英]How to print specific output based on condition from two variables
我有一個像這樣的 dataframe :
我想要一個像這樣的 output :
名稱1:
任務1:
句子1
句子2
任務2:
句子3
名稱2:
任務1:
句子4
名稱3:
任務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')
但是 output 並不完全是我得到的,我知道出了什么問題,但我不知道如何處理它:
名稱1:
任務1:
句子1
句子2
句子4
句子5
任務2:
句子3
句子6
句子1
句子2
句子3
名稱2:
任務1:
句子1
句子2
句子4
句子5
任務2:
句子3
句子6
句子4
名稱3:
任務1:
句子1
句子2
句子4
句子5
任務2:
句子3
句子6
句子5
句子6
您可以為自己的 dataframe 優化代碼,但邏輯是相同的:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.