私は以下の問題を解決する良い方法を模索しています。私の現在の修正は特にきれいではなく、あなたの洞察から学びたいと思っています。Pandas DataFrameの列リストを分割する
が、私はそのエントリが次のようになりパンダのデータフレームを、持っているとします
>>> df=pd.DataFrame(index=[1,2,3],columns=['Color','Texture','IsGlass'])
>>> df['Color']=[np.nan,['Red','Blue'],['Blue', 'Green', 'Purple']]
>>> df['Texture']=[['Rough'],np.nan,['Silky', 'Shiny', 'Fuzzy']]
>>> df['IsGlass']=[1,0,1]
>>> df
Color Texture IsGlass
1 NaN ['Rough'] 1
2 ['Red', 'Blue'] NaN 0
3 ['Blue', 'Green', 'Purple'] ['Silky','Shiny','Fuzzy'] 1
だから、インデックス内の各観測は、私はその色、質感、そしてそれはガラスだかいないかどうかについて測定されたものに対応しています。私がしたいことは、観測値ごとに列を作成し、それが観測された場合は対応するエントリを変更し、情報がない場合はNaNに変更することで、これを新しい「指標」DataFrameにします。
>>> df
Red Blue Green Purple Rough Silky Shiny Fuzzy Is Glass
1 Nan Nan Nan Nan 1 NaN Nan Nan 1
2 1 1 Nan Nan Nan Nan Nan Nan 0
3 Nan 1 1 1 Nan 1 1 1 1
私は、各列をループソリューションを持ってその値を見て、非NaN値に努め/ exceptsでの一連の、リストを分割し、新しい列などを作成し、連結します。
これは私の最初の投稿StackOverflowです - 私はこの投稿が掲載ガイドラインに準拠していることを願っています。ありがとう。
を使用していますか?または['Blue'、 'Green'、 'Purple'] – Wen
ありがとうございます。それは['Blue'、 'Green'、 'Purple']です。それに応じて編集します。 –
私のソリューションを追加〜:-) – Wen