gpt4 book ai didi

python - 以表格格式打印字典?

转载 作者:太空宇宙 更新时间:2023-11-04 09:10:16 26 4
gpt4 key购买 nike

我有一本看起来像这样的字典:

band2 = {'channel11': [10812, 2162, 1972, 0], 'channel10': [10787, 2157, 1967, 0], 'channel3': [10612, 2122, 1932, 0], 'channel2': [10589, 2117, 1927, 0], 'channel1': [10564, 2112, 1922, 20], 'channel7': [10712, 2142, 1952, 26], 'channel6': [10687, 2137, 1947, 0], 'channel5': [10662, 2132, 1942, 32], 'channel4': [10637, 2127, 1937, 26], 'channel9': [10762, 2152, 1962, 0], 'channel8': [10737, 2147, 1957, 0], 'channel12': [10837, 2167, 1977, 15]}

然后我这样排序:

zipped = zip(*((key, value) for key, value in sorted(band2.items(), 
key= lambda x: int(x[0][7:]))))

这给出了这个结果:

[('channel1', 'channel2', 'channel3', 'channel4', 'channel5', 'channel6', 'channel7', 'channel8', 'channel9', 'channel10', 'channel11', 'channel12'), ([10564, 2112, 1922, 20], [10589, 2117, 1927, 0], [10612, 2122, 1932, 0], [10637, 2127, 1937, 26], [10662, 2132, 1942, 32], [10687, 2137, 1947, 0], [10712, 2142, 1952, 26], [10737, 2147, 1957, 0], [10762, 2152, 1962, 0], [10787, 2157, 1967, 0], [10812, 2162, 1972, 0], [10837, 2167, 1977, 15])]

我想知道如何以特定格式打印出来:

Channel 1 Channel 2 ...... Channel 12
value[0] value[0] ........value[0]
value[1]/value[2] value[1]/value[2].....value[1]/value[2]
value[3] value[3]...........value[3]

因此示例输出为:

Channel 1 Channel 2  <other values> Channel 12
10564 10589 <other values> 10837
2112/1922 2117/1927 <other values> 2167/1977
20 0 <other values> 15

我不确定如何在整洁的表格中打印它,我会使用格式吗?

最佳答案

你可以试试pandas它提供了一个很好的结构来处理表:

Pandas 的 DataFrame 可以从项目构建:

In [69]: import pandas as pd
In [70]: df = pd.DataFrame.from_items(sorted(band2.items(), key=lambda x: int(x[0][7:])))
In [71]: df = df.astype('string')

连接第一行和第二行

In [72]: df.ix[1] = df.ix[1] + '/' + df.ix[2]
In [73]: df = df.ix[[0, 1, 3]]

不带索引打印

In [74]: print df.to_string(index=None)

channel1 channel2 channel3 channel4 channel5 channel6 channel7 channel8 channel9 channel10 channel11 channel12
10564 10589 10612 10637 10662 10687 10712 10737 10762 10787 10812 10837
2112/1922 2117/1927 2122/1932 2127/1937 2132/1942 2137/1947 2142/1952 2147/1957 2152/1962 2157/1967 2162/1972 2167/1977
20 0 0 26 32 0 26 0 0 0 0 15

关于python - 以表格格式打印字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16189546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com