【问题标题】:Explode column from csv file using Pandas使用 Pandas 从 csv 文件中分解列
【发布时间】:2020-04-10 04:18:55
【问题描述】:

我有许多 csv 文件,它们在第一列中包含行标识符,在第二列中包含每个 id 的计数。我需要将第二列扩展到嵌套观察的标识符中的行。但是, df.explode() 似乎不适用于原始数据。

示例数据:test_data.csv

df = pd.read_csv('test_data.csv')
df

df.explode('count')

在这种情况下,df.explode 似乎没有做任何事情。我错过了什么?谢谢。

【问题讨论】:

    标签: pandas csv explode


    【解决方案1】:

    list 是一个 python 对象,此类信息不存储在 csv 中。因此,当您读取文件时,它会以字符串'[this, string, is, not, a, list]' 的形式导入。

    您可以使用converters 读取csv,以确保它已转换为python 对象。

    import ast
    import pandas as pd
    
    df = pd.read_csv('test_data.csv', converters={'count': ast.literal_eval})
    
    df.explode('count')
    #   id count
    #0   A     5
    #0   A     3
    #0   A     0
    #0   A     5
    #0   A     6
    #.. ..   ...
    #3   D    11
    #3   D     2
    #3   D     1
    #3   D     1
    #3   D     6
    

    【讨论】:

      猜你喜欢
      • 2020-10-16
      • 2018-06-11
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      • 2018-11-05
      • 2021-11-15
      • 2016-08-22
      • 2020-04-30
      相关资源
      最近更新 更多