python - 元组中的 Pandas DataFrame 列

标签 python dictionary pandas tuples

我有一本字典:

employer =  
{'CrntEmp_city': ('XXX', 'XXX'),
'CrntEmp_cntry': ('XXX', 'XXX'),
'CrntEmp_orgNm': ('XXXX LLC', 'YYYY LLC'),
'CrntEmp_orgPK': ('1234567891', '1234567899'),
'CrntEmp_postlCd': ('12345', '12345'),
'CrntEmp_state': ('AK', 'AK'),
'CrntEmp_str1': ('999 XXX', '999 XXX'),
'CrntEmp_str2': ('XXXX', 'XXXX')}

我想将其读入一个DataFrame,其中一行八列与键对应。但无论我如何尝试,pandas 总是会给我两列(通过在逗号所在的位置分割元组)。示例:

pd.DataFrame([tuple(i) for i in employ.values()])


returns 
    0           1
0   XXXX LLC    YYYY LLC
1   XXXX        XXXX
2   999 XXX     999 XXX
3   XXX         XXX
4   12345       12345
5   XXX         XXX
6   AK          AK
7   1234567891  1234567899

我想要的是这样的:

     0                    1
 0  (XXXX LLC, YYYY LLC)  (XXXX, XXXX)
 etc.

因此该命令失败:

pd.DataFrame([tuple(i) for i in  employ.values()],columns=employ.keys(),index=[0])

有什么想法吗?

最佳答案

你基本上想要这样的东西:pd.DataFrame({'col1': [(a, b)], 'col2': [(c, d)]})

您可以在 Python 2 中使用字典理解来实现这一点,如下所示。对于 Python 3,请改用 employer.iter()

>>> pd.DataFrame({k: [tuple(v)] for k, v in employer.iteritems()})

  CrntEmp_city CrntEmp_cntry         CrntEmp_orgNm             CrntEmp_orgPK CrntEmp_postlCd CrntEmp_state        CrntEmp_str1  CrntEmp_str2
0   (XXX, XXX)    (XXX, XXX)  (XXXX LLC, YYYY LLC)  (1234567891, 1234567899)  (12345, 12345)      (AK, AK)  (999 XXX, 999 XXX)  (XXXX, XXXX)

关于python - 元组中的 Pandas DataFrame 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36946677/

相关文章:

python - 将一组字典解析为单行 Pandas (Python)

python - 在 Pandas 中使用合并列和索引

python - 数据框透视而不对列名称进行排序?

Python - 仅对某些字符串计算字符串的长度不准确

python - 它有效,但为什么需要通过减去 1 来改变索引

python - 具有单独 TTL 的过期字典

python - python 中的嵌套列表和字典

Python:具有相同键的几个字典的平均值

python - 用平均值估算多列 NaN 值的最佳方法

python - 多个可点击的图像