我有一个这样的数据框(my_data):
my_data:
0 1
0 name1 [2, 2, 3, 2]
1 name2 [3, 2, 2, 2]
2 name3 [2, 3, 2, 2]
3 name4 [2, 2, 3, 2]
4 name5 [0, 1, 1, 1]
我想将其转换为具有多个列的表单,例如以下数据框:
Col0, col1, col2, col3, col4
0 name1, 2, 2, 3, 2
1 name2, 3, 2, 2, 2
2 name3, 2, 3, 2, 2
3 name4, 2, 2, 3, 2
4 name5, 0, 1, 1, 1
答案 0 :(得分:2)
列出并重新转换为DataFrame:
u = pd.DataFrame(df.iloc[:,1].tolist()).rename(lambda x: f'col{x+1}', axis=1)
u
col1 col2 col3 col4
0 2 2 3 2
1 3 2 2 2
2 2 3 2 2
3 2 2 3 2
4 0 1 1 1
df.iloc[:,[0]].join(
pd.DataFrame(df.iloc[:,1].tolist()).rename(lambda x: f'col{x+1}', axis=1))
0 col1 col2 col3 col4
0 name1 2 2 3 2
1 name2 3 2 2 2
2 name3 2 3 2 2
3 name4 2 2 3 2
4 name5 0 1 1 1
答案 1 :(得分:1)
my_Data = pd.DataFrame({'0':['name1','name2','name3','name4','name5'],'1':[[2, 2, 3, 2],[3, 2, 2, 2],[2, 3, 2, 2],[2, 2, 3, 2],[0, 1, 1, 1]]})
my_Data.columns = ['Col0','x']
df1=pd.DataFrame(my_Data.x.values.tolist(), index= my_Data.index, columns=['Col1','Col2','Col3','Col4'])
df=my_Data[['Col0']].merge(df1,left_index=True, right_index=True, how='inner')
print(df)
Col0 Col1 Col2 Col3 Col4
0 name1 2 2 3 2
1 name2 3 2 2 2
2 name3 2 3 2 2
3 name4 2 2 3 2
4 name5 0 1 1 1