You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Python Pandas代码以实现指定的行/列输出格式?

如何修改Python Pandas代码实现期望的输出格式?

你的问题出在原代码对Pandas DataFrame的构造逻辑上——你把每个单键值对的字典当成了一行数据,导致Pandas自动把每个IP作为列名,每行只有对应列有值,其他列自然就填充成NaN了。要得到你想要的每行对应一个IP和数值的格式,有两种简单的修改方式:

方案1:直接遍历打印(无需Pandas也能实现)

如果只是需要输出指定格式的文本,完全可以不用Pandas,直接遍历你的字典列表打印每个键值对:

table = [{'192.168.70.150': '30'}, {'192.168.72.15': '38'}, {'192.168.72.150': '29'}]
for item in table:
    # 每个字典只有一个键值对,直接取出打印
    ip, value = next(iter(item.items()))
    print(f"{ip} {value}")

运行这段代码就能直接得到你要的输出:

192.168.70.150 30
192.168.72.15 38
192.168.72.150 29

方案2:用Pandas构造正确的DataFrame输出

如果你后续还要用Pandas处理这些数据,可以先把原始数据转换成(IP, 数值)的元组列表,再构造DataFrame,最后调整打印格式:

import pandas as pd
table = [{'192.168.70.150': '30'}, {'192.168.72.15': '38'}, {'192.168.72.150': '29'}]
# 把每个字典转换成(IP, 值)的元组
formatted_data = [(next(iter(item.keys())), next(iter(item.values()))) for item in table]
# 创建指定列名的DataFrame
df = pd.DataFrame(formatted_data, columns=['IP', 'Value'])
# 打印时去掉索引,设置列间距让输出更整齐
print(df.to_string(index=False, col_space=[18, 5]))

这段代码的输出和你期望的格式一致,同时保留了Pandas数据结构的便利性。

内容的提问来源于stack exchange,提问作者rares balta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:07:59