python - Pandas 只在 excel 中编写部分代码
问题描述
我的字典看起来像这样(缩短版):
my_dict = {('random_number_1', 'random_number_2'): {'random_string_1':
'random_number_3'}, ('random_number_1', 'random_number_4'):
{'random_string_2': 'random_number_5'}, ('random_number_1',
'random_number_6'): {'random_string_3': 'random_number_7',
'random_string_4': 'random_number_8', 'random_string_5':
'random_number_9'}}
{('random_number_10','random_number_11'): {'random_string_6':
'random_number_12', 'random_string_7': 'random_number_13'}}
我将此字典转换为数据框:
newdict = {(k1, k2):v2 for k1,v1 in my_dict.items() \
for k2,v2 in my_dict[k1].items()}
df = (pd.DataFrame( [newdict[i] for i in sorted(newdict)],
index=pd.MultiIndex.from_tuples([i for i in sorted(newdict.keys())]))
.reset_index(level=1)
.rename(columns={'level_1':'string',0:'number'}))
df.index = pd.MultiIndex.from_tuples(df.index)
print df
df.to_excel()
当我尝试使用 df.to_excel() 将其写入 excel 时。它只写出代码的最后一部分,所以最后一组数据来自我的数据框中的“字符串”和“数字”。更好的可视化示例:。
任何人都知道问题出在哪里?我想在excel中有整个数据框。先感谢您。
解决方案
在您的示例代码中
{('random_number_10','random_number_11'): {'random_string_6': 'random_number_12', 'random_string_7': 'random_number_13'}}
不连接到任何变量。
您的 DataFrame 看起来像这样(我缩短了字符串以在控制台上完整打印):
df:
string number
r_n_1 r_n_2 r_s_1 r_n_3
r_n_4 r_s_2 r_n_5
r_n_6 r_s_3 r_n_7
r_n_6 r_s_4 r_n_8
r_n_6 r_s_5 r_n_9
我无法使用 excel 进行测试,但使用df.to_csv('test.csv')
您的代码似乎可以工作。test.csv 的内容:
,,string,number
r_n_1,r_n_2,r_s_1,r_n_3
r_n_1,r_n_4,r_s_2,r_n_5
r_n_1,r_n_6,r_s_3,r_n_7
r_n_1,r_n_6,r_s_4,r_n_8
r_n_1,r_n_6,r_s_5,r_n_9
推荐阅读
- python - 带有嵌套字典的 Python urlencode 不如预期
- c++ - c ++ qt如何在图像上绘制图像
- rust - 如何将 u32 与可以取负值的动态 int 相加?
- reactjs - React.js 中的日期选择器周视图
- azure - Azure 堡垒主机:使用 Active Directory 登录
- typescript - (重新)在 SSR/CSR NextJS 应用程序中正确使用 Apollo 缓存
- flutter - ClientException(接收数据时连接关闭)
- vb.net - 即使在后期绑定的情况下,编译器也无法理解为什么编译器要求引用类库
- anylogic - 行人怪异行为中的特工
- python - 使用表格数据为 Power BI 创建动态启动 URL