簡體   English   中英

PYTHON DATAFRAME-將數字[0,0] DATAFRAME的一個列拆分為兩個列

[英]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.

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