複数の列に格納されたリストを持つPandas DataFrameを考えると、各列の最長リストを含む列名を簡単に見つける方法はありますか?例えば最も長いリストを含むPandas DFの列の名前を見つけよう
、このデータを用いて:
positive negative neutral
1 [marvel, moral, bold, destiny] [] [view, should]
2 [beautiful] [complicated, need] []
3 [celebrate] [crippling, addiction] [big]
私は行2及び3
最長行1のためのリストおよび「陰性」と列として「正」を識別します私はstr.len()
を使ってリストの長さを計算し、idmax()
を使って列名を得ることができたと思ったが、それらを組み合わせる方法は分からなかった。
多くの感謝!速いフォローアップ: 'idxmax()'は、 'positive'、 'negative'、 'neutral'がすべて空のリストである場合、最初のインデックス(つまり 'positive')を返します。このような行を無視するようにこのソリューションを修正できますか?私は空のリストをNaNで置き換えようとしましたが、 'len'は' 'float '型のオブジェクトにlen()" 'がありません。 – user2950747
@ user2950747、再現可能なデータセットを提供できますか? – MaxU
[このサンプルデータ](http://www.sharecsv.com/s/9dcf95cd39fa09eec291085eafecbd0c/polarity.csv)は、最後から3行目に空のリストを持ち、 'idxmax()'によって 'positive'と表示されます。 – user2950747