How to iterate the list and get the sentiments through pandas dataframe column?

Saya punya satu dataFRAME dengan hanya satu kolom dan hanya komentar di kolom itu.

data.head()

Output:

    Review
0   If you've ever been to Disneyland anywhere you...
1   Its been a while since d last time we visit HK...
2   Thanks God it wasn t too hot or too humid wh...
3   HK Disneyland is a great compact park. Unfortu...
4   the location is not in the city, took around 1...

Saya menggunakan memeluk classifer sentimen wajah yang mengembalikan sentimen untuk komentar misalnya

classifier("My name is mark")

Output adalah:

[{'label': 'POSITIVE', 'score': 0.9953688383102417}]

Untuk hanya mendapatkan label:

basic_sentiment = [i['label'] for i in value if 'label' in i]
basic_sentiment

Output adalah:

['POSITIVE']

Bagaimana menjalankan semua komentar yang diberikan dalam DataFrame di Classifier dan mengembalikan output?

sent = []

for i in text[:]:
  sentiment = classifier(i)
  sent.append(sentiment)

Saya mencoba kode di atas, tetapi itu adalah kesalahan yang kembali

0
Nithin Reddy 5 April 2021, 12:20

1 menjawab

Jawaban Terbaik

Saya mengerti masalah Anda adalah mengulangi data pandas, bukan hanya mengembalikan label dari classifier.

Jika Anda ingin mengembalikan daftar dengan hasil Classifier () Anda harus:

sent = []

for i in range(len(data)):
    sentiment = classifier(data.iloc[i,0])
    sent.append(sentiment)

range(len(data)) Iterate melalui semua baris dataFrame. data.iloc[i,0] mengambil nilai dari baris I dan kolom 0 (Anda hanya memiliki satu kolom dan python tidak diindeks).

Anda juga dapat menyimpan hasil classifier di kolom lain sehingga Anda memiliki dataFrame dengan dua kolom, satu berisi teks biasa, yang lainnya berisi sentimen:

# initialize new column
data['Sentiment'] = ''

for i in range(len(data)):
    data.iloc[i,1] = classifier(data.iloc[i,0])

Di mana data.iloc[i,1] menargetkan baris I dan kolom dengan indeks 1 yang merupakan kolom kedua Anda (nol-indexing) Sentiment.

Jika Anda hanya ingin menyimpan label Anda perlu memasukkan langkah itu ke dalam kode, namun tidak terlalu jelas dari Anda mempertanyakan apa yang ingin Anda simpan.

0
Nic Moetsch 5 April 2021, 11:57