如果我有此列表:
list = ['a', 'b', 'c', 'd']
然后我使用以下方法将其转换为数据框:
record = pd.DataFrame(list)
我明白了:
0
0 a
1 b
2 c
3 d
我怎么得到这个,谢谢?
0 1 2 3
0 a b c d
答案 0 :(得分:2)
您可以将列表作为[列表]传入
{
"data":
"key=IAfpK,
age=58,
key=WNVdi,
age=64,
key=jp9zt,
age=47"
}
答案 1 :(得分:1)
您可以使用T将其转换为该格式
record = pd.DataFrame(data).T
我喜欢发布的其他([data])
解决方案的外观,因此我想检查一下最快的兴趣解决方案:
%timeit record = pd.DataFrame(data).T
820 µs ± 181 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
%timeit record = pd.DataFrame([data])
981 µs ± 323 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
因此,与首先在列表中构建列表相比,Pandas T确实具有性能优势。列表中也包含400个条目。
并且正如其他地方所指出的那样-重新定义列表不是一个好习惯,因为它是系统关键字。
答案 2 :(得分:1)
使用transpose()
record = pd.DataFrame(list).transpose()
record
Out[3]:
0 1 2 3
0 a b c d
此外,您可以使用:
pd.DataFrame(list).T
答案 3 :(得分:1)
这应该有效:
import pandas as pd
L = ['a','b','c','d']
df = pd.DataFrame([L])
print(df)
输出:
0 1 2 3
0 a b c d
我建议您不要使用“列表”一词来命名您的列表。