我正在尝试将列表值的列分为不同的列。 你们能给我一些指导怎么做吗?谢谢 在原始数据框中,没有列名(第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'
答案 0 :(得分:0)
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)
答案 1 :(得分:-1)
由于第2列的值是列表,因此您实际上不需要拆分或类似的操作,只需选择所需的元素即可。因此,column3将成为列表元素[1],column4将成为列表元素[2],最后将column2转换为列表元素[0]:
df['Column 3'] = df['Column 2'][1]
df['Column 4'] = df['Column 2'][2]
df['Column 2'] = df['Column 2'][0]
我建议重命名它们,以免覆盖“ Column2”并保留所有列。