使用pandas DataFrame将字典打印到文件,但更改数据帧格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用pandas DataFrame将字典打印到文件,但更改数据帧格式相关的知识,希望对你有一定的参考价值。
我有一个字典词典,我想打印成一个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
以上是关于使用pandas DataFrame将字典打印到文件,但更改数据帧格式的主要内容,如果未能解决你的问题,请参考以下文章
Pandas使用to_dict函数将dataframe转化为字典(dict)格式数据并指定orientation参数生成不同形式的字典
JSON字典到Python中的Pandas DataFrame
pandas使用字典列表创建dataframe(list of dictionaries)pandas使用字典数据创建dataframe(dictionary)
pandas使用tabulate函数将pandas dataframe以类似于plsql表格的方式打印出来(printing dataframe in tabular format)