2017-08-16 11 views
-3

私は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:空のデータセットからスキーマを推測できないというエラーが発生しています。

+1

あなたは、実際のインデントエラーや別のエラーを取得している破るだろうか? *完全なエラーを含めるために投稿を編集してください。 –

+0

インデントエラーが発生する理由はありません。 – piRSquared

+0

IndentationError:予期しないインデント。私はまた、罰金のスペースをチェックし、私はこの行を削除しているときに私のコードは正常に動作しています。 – vatsal

答えて

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 
+0

同じエラーIndentationError:予期しないインデント。 – vatsal

+0

チェック編集の回答 – jezrael

+0

このデータフレームを別のデータフレームに割り当てると、コードが正常に実行されていますが、エラーが発生しています - 空のデータセットを推測できません。 – vatsal

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) 
関連する問題