ValueError在Pandas中

时间:2017-08-18 04:45:25

标签: 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']].apply(pd.to_numeric)  

正在抛出ValueError: can not infer schema from empty dataset的错误。

1 个答案:

答案 0 :(得分:1)

对我而言,它完美运作,只需要.copy

df = pd.DataFrame({
'D':['Validated','Validated','a'], 
'E':['4','8','8'], 
'A':['4','5','8'],
'F':['4','9','8'],
'B':['a','a','r'],
'C':['b','b','b']})

df2=df[(df['D'] == "Validated")].copy()
print (df2)
   A  B  C          D  E  F
0  4  a  b  Validated  4  4
1  5  a  b  Validated  8  9

#for replace ',' to '.' 
df2[['A','E','F']]=df2[['A','E','F']].replace(',','.', regex=True).apply(pd.to_numeric)
df3=df2.groupby(['B','C','D']).agg({'A':'max','E': 'max','F': 'max'}).reset_index()
print (df3)
   B  C          D  A  F  E
0  a  b  Validated  5  9  8