在特定条件下在数据框中添加新的对话

问题描述 投票:-1回答:1

[嗨,我是python的新手,已经开始处理文本数据。我想在数据框中添加一个列,将其与另一个列中提到的条件进行比较,并相应地进行填充。

数据集有10000行,我通过抽取2000行的随机样本来缩短它。

我想添加名为“ Review Sentiment”的新列,如果review.rating为> 3,则将其中的单元格填充为1,如果review.rating为= <3,则将其填充为0。

这是我尝试过的。

代码:

Dataset = pd.read_csv('Datafiniti_Hotel_Reviews.csv')

Dataset_sample = Dataset.sample(n = 2000)
Dataset_sample.head()

i=0

for i in range(len(Dataset_sample.axes[0])):
            if(Dataset_sample['reviews.rating'] < 3):
                Dataset_sample.insert(len(Dataset_sample.axes[1],"Test",1))
            else:
                Dataset_sample.insert(len(Dataset_sample.axes[1],"Test",0)) 

错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

“在此处输入图像描述”

数据集:从数据集中提取。请帮助使用数据集中的这些列。逻辑将保持不变。

ID   province reviews.rating 

 1    CA             5
 7    ST             4
 3    DL             4
 6    YT             5
 5    JD             1

[嗨,我是python的新手,已经开始处理文本数据。我想在数据框中添加一个列,将其与另一个列中提到的条件进行比较,并相应地进行填充。 ...

python pandas nlp sentiment-analysis
1个回答
0
投票
import pandas as pd

# Data

dfBuses = pd.DataFrame({'size': [40,30], 'cost': [500,400]},
                      index = ['bus1', 'bus2'], columns=['size','cost']) 

print(dfBuses)

dfBuses['expensive']=[(row['cost']>=450)  for i,row in dfBuses.iterrows()]

print(dfBuses)
© www.soinside.com 2019 - 2024. All rights reserved.