簡體   English   中英

如何根據名稱變量中的條件打印特定的 output

[英]How to print specific output based on condition from name variable

我有一個像這樣的 dataframe data

數據

我想要一個像這樣的 output :

  • 名稱1

    句子1

    句子2

    句子3

  • 名稱2

    句子4

  • 名稱3

    句子5

    句子6

這是我到目前為止所做的:

first = True

for i in range(0, data.shape[0]):
    if data['Name'][i+1] == data['Name'][i] :
        if first:
            first = False
            print(data['Name'][i])
            print()
            print(data['Sentences'][i])
        else:
            print()
            print(data['Sentences'][i])
           
    if data['Name'][i] != data['Name'][i+1] :
        print(data['Name'][i])
        print(data['Sentences'][i])
       
    else :
        print()

但這並沒有給我正確的 output,名字沒有印在我想要的地方。 我想我放錯地方或忘記了循環中的某些東西,但是什么?

謝謝

編輯:我想我明白了,我想知道我是否正確:這就是我在代碼中所做的更改:

first = True

for i in range(0, data.shape[0]):
    if data['Name'][i+1] == data['Name'][i] :
        if first:
            first = False
            print(data['Name'][i])
            print()
            print(data['Sentences'][i])
        else:
            print()
            print(data['Sentences'][i])
           
    if data['Name'][i] != data['Name'][i+1] :
        print(data['Name'][i+1]) #i+1 instead of i
        print(data['Sentences'][i+1])# i+1 instead of i
       
    else :
        print()

我相信有一種更清潔的方法。

筆記:

我的 DataFrame 看起來像這樣:

在此處輸入圖像描述

代碼

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

Output

name1:

sentence1
sentence2
sentence3


name2:

sentence4


name3:

sentence5
sentence6

嘗試根據您的需要修改上面的代碼,看看是否有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM