2017-11-01 7 views
1

私はちょうどパンダを開始していますので、これが愚かなものであれば許してください。パンダは動作しません

カラムに機能を適用しようとしていますが、機能していないため、エラーは表示されません。

capitalizer = lambda x: x.upper() 
    for df in pd.read_csv(downloaded_file, chunksize=2, compression='gzip', low_memory=False): 
     df['level1'].apply(capitalizer) 
     print df 
     exit(1) 

このプリントはupperをしていない、元のCSVと同じlevel1列の値を示しています。ここに何かがないのですか?あなたは

+0

申し訳ありません実際には私はその時点で受け入れていましたが、期限のために許容できませんでした。どうもありがとう –

答えて

8

apply大文字のあなたの列を作るために、コードの上に使用することができます

おかげ

2
df['level1'] = map(lambda x: x.upper(), df['level1']) 

インプレース関数ではありません - それは、元のオブジェクトの値を変更しませんので、あなたは、割り当てる必要がありますそのバック:

df['level1'] = df['level1'].apply(capitalizer) 

また、str.upperを使用すると、はるかに高速になるはずです。

df['level1'] = df['level1'].str.upper() 
関連する問題