转换Pandas中的数据类型

时间:2017-08-16 07:44:53

标签: python pandas

我有一个15列的数据框,假设我只想要6列。 我正在执行聚合然后分组,但它正在抛出错误。

def my_compute_function(my_input):

    df=pd.DataFrame(my_input)
    df2=df[(df['D'] == "Validated")]
    df2[['A','E','F']]=df2[['A','E','F']].apply(pd.to_numeric) 
    df3=df2[['A','B','C','D','E','F']].groupby(['B','C','D']).agg({'A': 
   'max','E': 'max','F': 'max'}).reset_index()

return df3    

所以我只想要6列A,B,C,D,E,F 当我添加此行时     DF2 [[ 'A', 'E', 'F'] = DF2 [[ 'A', 'E', 'F']]。应用(pd.to_numeric)
值得抛出的错误是ValueError:无法从空数据集中推断出架构。

2 个答案:

答案 0 :(得分:3)

这应该有用。

df[['A', 'B', 'C']] = df[['A', 'B', 'C']].apply(pd.to_numeric)  

这会破坏

# Ignore this comment, I needed SO to show a blank
# line followed by code indented by a space

 df[['A', 'B', 'C']] = df[['A', 'B', 'C']].apply(pd.to_numeric)  

答案 1 :(得分:1)

我认为你可以在有问题的行之前复制工作代码中的空格:

#some code before, copy whitespaces from starts of line to first letter
    df = pd.read_csv(file)
^^^^copy here

    df[['A','B','C']]=df[['A','B','C']].apply(pd.to_numeric)  
^^^^paste here