我刚刚开始使用Python的Pandas库,而且我遇到了一个我无法解决的问题。
require('path/file.jpg')
所以输出是:
dictionary = {key:list}
series = pd.Series(dictionary)
dataframe = pd.DataFrame(series)
print(dataframe)
我想获取该列表并让列表中的每个值都拥有它自己的列,如下所示:
0
key list
key list
key list
key list
我将如何做到这一点?
答案 0 :(得分:1)
您可以直接从字典中创建DataFrame,但在创建时,keys
将成为列,0
/ 1
等会成为索引,如果您需要反之亦然 - keys
作为索引,0
/ 1
等作为列 - 然后您可以进行转置。
请注意,列表中的所有键都应具有相同数量的元素。
代码 -
dataframe = pd.DataFrame(dictionary).T
示例/演示 -
In [1]: import pandas as pd
In [2]: d = {'key1':[1,2,3,4],'key2':[2,3,4,5],'key3':[3,4,5,6]}
In [3]: df = pd.DataFrame(d).T
In [4]: df
Out[4]:
0 1 2 3
key1 1 2 3 4
key2 2 3 4 5
key3 3 4 5 6
答案 1 :(得分:1)
您可以完成此任务的一种方法是完全跳过创建一个pandas系列,然后直接转到DataFrame,然后转置数据框:
In [1]: import pandas as pd
In [2]: dict = {1: ['val0', 'val1', 'val2', 'val3', 'val4'],
...: 2: ['val0', 'val1', 'val2', 'val3', 'val4'],
...: 3: ['val0', 'val1', 'val2', 'val3', 'val4'],
...: 4: ['val0', 'val1', 'val2', 'val3', 'val4']}
将字典读入DataFrame,然后将其转置为.T
或transpose()
:
In [3]: df = pd.DataFrame(dict).T
In [4]: df
Out[4]:
0 1 2 3 4
1 val0 val1 val2 val3 val4
2 val0 val1 val2 val3 val4
3 val0 val1 val2 val3 val4
4 val0 val1 val2 val3 val4