特定の条件があれば、パンダのDataFrameの列を1つに集計したいと思います。この考え方は、DF内のスペースを節約し、ある条件に答える限り、列の一部を1つに集約することです。 例はおそらく、それが簡単に説明することになるだろう:パンダ:パンダのDataFrameの* columns *のいくつかを集計するには
import pandas as pd
import seaborn as sns # for sample data set
# load some sample data
titanic = sns.load_dataset('titanic')
# round the age to an integer for convenience
titanic['age_round'] = titanic['age'].round(0)
# crosstabulate
crtb = pd.crosstab(titanic['embark_town'], titanic['age_round'], margins=True)
crtb
利回り:
私が何をしたいのか、例えば、> = 20であるすべての列を集約することです(たとえば、'20 + 'と呼ばれる1つの列に値が設定され、値は集計された列の行ごとのすべての値の合計になります。列ヘッダーが<である場合、それらは分離されていて手つかずのままです。 元のDFにもう1つの列を作成して、< 20と'20 + 'elseの場合はage_roundedの元の値を、別の列を作成するか、.cutを使用してそれをピボットします。
新しい欄を作成しなくても、もっと巧みにやり直す方法があるのだろうか? ありがとう!
返信いただきありがとうございます。はい、私は一般的な解決策を探しています。あなたが提案するこの解決策は、実際の列の値を変更する意味で私のものと似ています。私は列ヘッダー(実際の値に集計関数を適用する)に適用できるソリューションがあることを期待していました。 – Optimesh
それはあまり意味がないでしょう - あなたの価値はあなたの列見出しになります。彼らがヘッダーになるまで待っていれば、もっと多くの作業ができます。 – flyingmeatball