我有一个这样的dict:
x = { 'A': [3.4, 4.2, 5.6]
'B': [5.6, 7.8, 2.3]
etc....
}
我想创建一个熊猫数据帧,看起来像这样:
'POINT' 'X' 'Y' 'Z'
A 3.4 4.2 5.6
B 5.6 7.8 2.3
etc...
df=pd.DataFrame(list(x.items(((…
生成一个2列数据帧,键在第0列,值作为列表在第1列。
df=pd.DataFrame.from_dict(x(
生成一个基本正确的数据帧,但POINT没有列,据我所知,它使用该列作为索引。有没有一种简单的方法可以通过dict转换来实现这一点?(我知道我可以通过dict循环并填充数据帧单元格来达到目的(很抱歉,如果这是一个愚蠢的问题,我对熊猫几乎没有经验。。。
您可以使用:
df = pd.DataFrame(x).T.reset_index()
df.columns = ['POINT', 'X', 'Y', 'Z']
结果:
print(df)
POINT X Y Z
0 A 3.4 4.2 5.6
1 B 5.6 7.8 2.3
IIUC,您可以尝试:
x = { 'A': [3.4, 4.2, 5.6],
'B': [5.6, 7.8, 2.3]
}
df = pd.DataFrame(x).T.rename(columns= {0: 'X', 1: 'Y', 2: 'Z'})
输出:
X Y Z
A 3.4 4.2 5.6
B 5.6 7.8 2.3
您也可以尝试:
pd.DataFrame.from_dict(x, 'index', columns=["X", "Y", "Z"])
输出:
X Y Z
A 3.4 4.2 5.6
B 5.6 7.8 2.3
df_data = [[key] + values for key, values in data_dict.items()]
df = pd.DataFrame(df_data, columns=["POINT", "X", "Y", "Z"])
您可以使用它来添加POINT列:
points = x.keys()
df['POINT']=points
或df.reset_index((