【问题标题】:convert pandas.core.frame.DataFrame to pandas dataframe in python在 python 中将 pandas.core.frame.DataFrame 转换为 pandas 数据帧
【发布时间】:2019-06-01 18:35:25
【问题描述】:

pandas.core.frame.DataFrame 出现以下格式。如何从中获取每个字段并写入 csv 文件? csv 的 headers 在 dataframe('uuid' ,'name' etc) 的数据中

df1=
        total                                               data
    0      14  {'id': '489', 'uuid': 'cddcf03f-fff2-4f38-830e...
    1      14  {'id': '4662', 'uuid': '2fef9a5f-2a81-48ea-807...
    2      14  {'id': '4745', 'uuid': '1b478538-cf21-4c59-ba4...
    3      14  {'id': '3585', 'uuid': '3209a1ce-8960-4426-81b...
    4      14  {'id': '1956', 'uuid': 'bfd6b735-9ce4-45a8-bb6...
    5      14  {'id': '4132', 'uuid': '06cdd721-9eb4-41e8-9fa...
    6      14  {'id': '12335', 'uuid': '7e01a60f-6a39-4da0-a6...
    7      14  {'id': '13161', 'uuid': '67bfbab0-8269-4d07-83...
    8      14  {'id': '2510', 'uuid': '1d0fc6f8-a4c7-4d53-be2...
    9      14  {'id': '4404', 'uuid': '04e5ff20-bbc9-4ee6-8a5...
    10     14  {'id': '117', 'uuid': '4922ad75-b5ce-4c4e-81bd...
    11     14  {'id': '1281', 'uuid': 'a0c34d30-bce1-4962-bd8...
    12     14  {'id': '3115', 'uuid': '23c310cf-510b-481c-bae...
    13     14  {'id': '4698', 'uuid': '3a4063a3-2d91-4d10-bb4...


type(df1)=pandas.core.frame.DataFrame

data=df1['data']
type(data)=pandas.core.series.Series

【问题讨论】:

  • 提供完整的输入输出样本。
  • 如果data 列的dtype 是字典,df.join(df['data'].apply(pd.Series)) 应该可以工作。然后,您可以删除 data 列或保留它

标签: python-3.x pandas csv


【解决方案1】:

joinpopDataFrame 构造函数一起使用:

df = df.join(pd.DataFrame(df.pop('data').values.tolist()))
print (df)
    total     id                     uuid
0      14    489  cddcf03f-fff2-4f38-830e
1      14   4662   2fef9a5f-2a81-48ea-807
2      14   4745   1b478538-cf21-4c59-ba4
3      14   3585   3209a1ce-8960-4426-81b
4      14   1956   bfd6b735-9ce4-45a8-bb6
5      14   4132   06cdd721-9eb4-41e8-9fa
6      14  12335    7e01a60f-6a39-4da0-a6
7      14  13161    67bfbab0-8269-4d07-83
8      14   2510   1d0fc6f8-a4c7-4d53-be2
9      14   4404   04e5ff20-bbc9-4ee6-8a5
10     14    117  4922ad75-b5ce-4c4e-81bd
11     14   1281   a0c34d30-bce1-4962-bd8
12     14   3115   23c310cf-510b-481c-bae
13     14   4698   3a4063a3-2d91-4d10-bb4

performance 不重要时的解决方案:

df = df.join(df.pop('data').apply(pd.Series))

【讨论】:

    猜你喜欢
    • 2016-01-03
    • 2017-02-04
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 2016-09-27
    相关资源
    最近更新 更多