Python 使用拆分条件从字符串列表中填充数据框
我有这样一份清单:Python 使用拆分条件从字符串列表中填充数据框,python,pandas,dataframe,Python,Pandas,Dataframe,我有这样一份清单: l=['-1.1430054,5.9142456,8.293411','-0.42156982,6.976654,8.832993','-0.024368286,5.3268127,10.694611', '-0.09136963,3.1469574,13.665298'] 现在我想从这个列表中创建一个数据框,第一个元素用逗号分隔,这样数据框看起来就像 df col1 col2 col3 -1.1430054 5.9142456 8
l=['-1.1430054,5.9142456,8.293411','-0.42156982,6.976654,8.832993','-0.024368286,5.3268127,10.694611',
'-0.09136963,3.1469574,13.665298']
现在我想从这个列表中创建一个数据框,第一个元素用逗号分隔,这样数据框看起来就像
df
col1 col2 col3
-1.1430054 5.9142456 8.293411
-0.42156982 6.976654 8.832993
-0.024368286 5.3268127 10.694611
-0.09136963 3.1469574 13.665298
我试过这个代码来做这个
df=pd.DataFrame(columns=['col1','col2','col3'])
for i in range(0,len(l)):
temp_df=pd.DataFrame(columns=['col1','col2','col3'])
temp_x=l[i].split(',')[0]
temp_y=l[i].split(',')[1]
temp_z=l[i].split(',')[2]
temp_df['col1']=[temp_x]
temp_df['col2']=[temp_y]
temp_df['col3']=[temp_z]
df=df.append(temp_df)
这会得到我想要的完美结果,但我想减少执行时间,
正在寻找任何快捷方式或python方式来减少执行时间。拆分字符串并将数据帧构造为:
pd.DataFrame(i.split(',') for i in l).add_prefix('col')
col0 col1 col2
0 -1.1430054 5.9142456 8.293411
1 -0.42156982 6.976654 8.832993
2 -0.024368286 5.3268127 10.694611
3 -0.09136963 3.1469574 13.665298
还有一个解决方案
df=pd.DataFrame({"col":l})
print(df.col.str.split(',', expand=True))
O/p:
0 1 2
0 -1.1430054 5.9142456 8.293411
1 -0.42156982 6.976654 8.832993
2 -0.024368286 5.3268127 10.694611
3 -0.09136963 3.1469574 13.665298