簡體   English   中英

Pandas 將列表的列拆分為多個新列

[英]Pandas split column of lists into multiple new columns

我試圖將一列列表值分成不同的列。 各位大神能給我一些指導如何做到這一點嗎? 謝謝 在原來的 dataframe 中,沒有列名(Column 1 Column2)。 我只是命名它是為了更好地理解這個問題。

Before:
Column 1   Column2
   A       ['2.49', '-2.18', '-3.79']
   B       ['2.56', '-3.02', '-4.92']
   C       ['-0.09', '-1.73', '-3.47']

After:
Column 1   Column2      Column3       Column4
   A       '2.49'       '-2.18'       '-3.79'
   B       '2.56'       '-3.02'       '-4.92'
   C       '-0.09'      '-1.73'       '-3.47'
df = pd.DataFrame({'Column 1': ['A', 'B', 'C'],
                   'Column2': [['2.49', '-2.18', '-3.79'], ['2.56', '-3.02', '-4.92'], ['-0.09', '-1.73', '-3.47']]
                  }
                 )

pd.concat([df['Column 1'],
           pd.DataFrame(df['Column2'].to_list(), columns=['Column2', 'Column3', 'Column4'])],
          axis=1)

由於第 2 列的值是列表,因此您實際上不需要拆分或類似的東西,只需 select 您想要的元素。 因此,column3 將是 list element[1],column4 是 list element[2],最后將 column2 轉換為 list element[0]:

df['Column 3'] = df['Column 2'][1]
df['Column 4'] = df['Column 2'][2]
df['Column 2'] = df['Column 2'][0]

我建議重命名它們,這樣您就不會覆蓋“Column2”並保留所有列。

暫無
暫無

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

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