[英]PYTHON DATAFRAME - SPLIT ONE COLUMN of numbers [0,0] DATAFRAME into TWO COLUMNS
具有來自AMAZON DATASET的數據框數據集具有一個“幫助”列,其外觀如下:'helpful':[0,0]其中第一個元素是“是”投票,第二個元素是“總”投票。
我想使用PANDAS(PYTHON)將這些列分為兩列。 第一列必須僅包含第一元素。 最后一個與第二個元素
import pandas as pd
df.head(5)
reviewerID asin reviewerName helpful
0 A2VNYWOPJ13AFP 0981850006 "Customer" [0,0]
0 A20DWVV8HML3AW 0923587406 "Customer" [1,3]
0 A3VMADADA13AFP 0981587706 "Customer" [0,0]
0 A28XY55TP3Q90O 0541217906 "Customer" [2,4]
0 A5RTTREES110V3 0265478006 "Customer" [0,0]
0 A2VNYWOPJ13AFP 0565777106 "Customer" [1,5]
Index(['reviewerID', 'asin', 'reviewerName', 'helpful'],
dtype='object')
df.helpful[1][0] = 1
df.helpful[1][1] = 3
Do that for all columns
pd.DataFrame(ratings['helpful'], columns = ['Yes','Vote'])
reviewerID asin reviewerName helpful
0 A2VNYWOPJ13AFP 0981850006 "Customer" [0,0]
0 A20DWVV8HML3AW 0923587406 "Customer" [1,3]
0 A3VMADADA13AFP 0981587706 "Customer" [0,0]
0 A28XY55TP3Q90O 0541217906 "Customer" [2,4]
0 A5RTTREES110V3 0265478006 "Customer" [0,0]
0 A2VNYWOPJ13AFP 0565777106 "Customer" [1,5]
helpful dtype=obect
THE GOAL - EXPECTED RESULT
reviewerID asin reviewerName YES TOTAL VOTE
0 A2VNYWOPJ13AFP 0981850006 "Customer" 0 0
0 A20DWVV8HML3AW 0923587406 "Customer" 1 3
0 A3VMADADA13AFP 0981587706 "Customer" 0 0
0 A28XY55TP3Q90O 0541217906 "Customer" 2 4
0 A5RTTREES110V3 0265478006 "Customer" 0 0
0 A2VNYWOPJ13AFP 0565777106 "Customer" 1 5
您可以像這樣拆分它們:
df[['first','second']]=pd.DataFrame(df['helpful'].tolist(),columns=['first','second'])
輸出:
helpful first second
0 [0, 0] 0 0
1 [1, 3] 1 3
2 [0, 0] 0 0
這是假設有用的條目是列表
編輯-如果您的列實際上是字符串,即'[0,1]'
df['helpful'] = [eval(h) for h in df['helpful'].values]
df[['first','second']]=pd.DataFrame(df['helpful'].tolist(),columns=['first','second'])
相同的輸出
要么
df['first'] = [str(h).replace('[','').replace(']','').split(',')[0] for h in df['helpful'].values]
df['second'] = [str(h).replace('[','').replace(']','').split(',')[1] for h in df['helpful'].values]
相同的輸出
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.