将数据帧转换为保留列名称-python的列列表

时间:2018-04-23 05:34:39

标签: python python-3.x pandas dataframe

我有一个数据框

a    b
---------
1   xyz
2   pqr
3   mno

我需要转换为类似

的内容
(a=[1,2,3],b=[xyz,pqr,mno])

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

我认为这是组织数据的一种糟糕方式。

您可以做的一种更好的方法是将数据帧转换为字典,其中键是列名,值是列值作为列表。像这样:

df.to_dict('list')  # df is your Dataframe.

输出:

{'a': [1, 2, 3], 'b': ['xyz', 'pqr', 'mno']}

现在您可以非常轻松地单独访问列。

dct.get('a')   # -> [1, 2, 3] where dct is the dictionary obtained above.

答案 1 :(得分:0)

使用Pandas Transpose,

>>> import pandas as pd    

>>> data = {'A': [1, 2, 3], 'B': ['ab', 'bc', 'ca']}
>>> df = pd.DataFrame(data)
>>> df
   A   B
0  1  ab
1  2  bc
2  3  ca
>>> df.T
    0   1   2
A   1   2   3
B  ab  bc  ca
>>> list(df.loc['A'])
[1, 2, 3]
>>> list(df.loc['B'])
['ab', 'bc', 'ca']
>>> b = list(df.loc['B'])
>>> b
['ab', 'bc', 'ca']