我有一个字典词典,我想打印成一个csv文件。我发现使用pandas.DataFrame执行此操作的方法:
import pandas as pd
dict = {'foo': {'A':'a', 'B':'b'}, 'bar': {'C':'c', 'D':'d'}}
df = pd.DataFrame(dict)
#df.to_csv(path_or_buf = r"results.txt", mode='w')
这给了我一个格式化的结果,如下所示:
bar foo
A NaN a
B NaN b
C c NaN
D d NaN
我期望(并且希望有)一个看起来像的DataFrame:
foo A a
foo B b
bar C c
bar D d
我是新手操纵数据帧,所以我不知道如何更改格式 - 我会在DataFrame参数中进行吗?或者,一旦字典已经是df,有没有办法改变它?
您正在寻找stack
df.stack()
Out[91]:
A foo a
B foo b
C bar c
D bar d
dtype: object
那是多指数
dict = {'foo': {'A':'a', 'B':'b'}, 'bar': {'A':'a','C':'c', 'D':'d'}}
df = pd.DataFrame(dict)
df.stack()
Out[93]:
A bar a
foo a
B foo b
C bar c
D bar d
dtype: object
df.stack().reset_index()
Out[94]:
level_0 level_1 0
0 A bar a
1 A foo a
2 B foo b
3 C bar c
4 D bar d