簡體   English   中英

從 Pandas 中的字符串切片創建列

[英]Creating a column from a string slice in Pandas

有人知道為什么這會在“2_stars”列中顯示 NaN 值? 提前致謝

data['1_star']=data['Sentiment'].str.slice(31,40)
data['start'] = data['Sentiment'].str.find("'2 stars', 'score': ") + len("'2 stars', 'score': ")
data['end'] = data['Sentiment'].str.find("}, {'label': '3 stars'")
data['2_stars']=data['Sentiment'].str.slice(data['start'],data['end'])

在此處輸入圖片說明

Pandas str.slice使用標量數字,而不是所有列值。 所以需要在DataFrame.apply處理每行:

data['2_stars']= data.apply(lambda x: x['Sentiment'][slice(x['start'], x['end'])], axis=1)

列表理解的另一個想法:

zipped = zip(data['Sentiment'], data['start'], data['end'])
data['2_stars'] = [a[slice(s, e)] for a, s, e in zipped]

暫無
暫無

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

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