2016-06-18 6 views
0

を抽出します。私は1つのステップ(それを望んでは、パフォーマンスを向上させるでしょう)内のすべての3つの操作をすることを考えていた:パンダは、私がデータフレームに新しい列を追加していパンダを使用して複数の列

df["Measure", "Year", "Month"] = (df["concat"].str.extract("^(?P<Measure>.*)\_(?P<Month>\d\d)\_(?P<Year>\d\d\d\d)$", expand=True)) 

しかし、それは(ValueErrorを:3を通過したアイテムの数が間違っ、配置は1を意味する)は動作しません。

この情報を効果的に抽出するにはどうすればよいですか?

+0

https://meta.stackexchange.com/a/5235/289619 – 0m3r

答えて

1

あなたはdf参照に3つの別々の値をdf["Measure", "Year", "Month"]として渡しています。配列["Measure","Year","Month"]の代わりに"Measure","Year"および"Month"である。代わりにdf[["Measure", "Year", "Month"]]のように表示されます。

また、pandas concatenate関数を使用することもできます。

df2= df["concat"].str.extract("^(?P<Measure>.*)\_(?P<Month>\d\d)\_(?P<Year>\d\d\d\d)$", expand=True) 
pd.concat([df,df2],axis = 1) 
関連する問題