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