我在pandas
中有一列,其中包含1000个float
的列表。但是,我希望具有一列float
的1000列而不是一列。现在,这些列表以string
类型存储。
列表示例(已裁剪):
[0.12953150272369385, 0.16092558205127716, -0.03718775138258934]
我知道可以通过遍历行并创建1000列并一一传递新值来做到这一点。但这会很慢。
有更快的方法吗?
答案 0 :(得分:2)
将其放在方括号中,以便获得列表的列表:
l = [0.12953150272369385, 0.16092558205127716, -0.03718775138258934]
pd.DataFrame(l)
Out:
0
0 0.129532
1 0.160926
2 -0.037188
pd.DataFrame([l])
Out:
0 1 2
0 0.129532 0.160926 -0.037188
答案 1 :(得分:0)
如果您有多行,并且每一行都有一个浮动列表,那么最好的解决方案是:
df = pd.DataFrame({'floats': [[0.6, 0.3], [0.3, 0.4]]})
floats
0 [0.6, 0.3]
1 [0.3, 0.4]
df = df.floats.apply(pd.Series)
0 1
0 0.6 0.3
1 0.3 0.4
答案 2 :(得分:0)
您可以使用T来实现这一点,它会转置索引和列:
l = [0.12953150272369385, 0.16092558205127716, -0.03718775138258934]
df = pd.DataFrame(l)
df
# 0
#0 0.129532
#1 0.160926
#2 -0.037188
df.T
# 0 1 2
#0 0.129532 0.160926 -0.037188