i "は1000行* 4列" DATAFRAMEありますgroupbyは列を連結しますか?
a b c d
1 aa 93 4
2 bb 32 3
...
1000 nn 78 2
**[1283 rows x 4 columns]**
をし、私はそれらの列の3に基づいてグループにGROUPBYを使用します。
df.groupby(['a','b','c']).sum()
print(df)
a b c d
1 aa 93 12
2 bb 32 53
...
1000 nn 78 38
**[1283 rows x 1 columns]**
しかし、結果は私に「1000を与えます行* 1列 "データフレーム。だから私の質問はGroupbyが1つの列として列を連結する場合ですか?はいの場合はどうすればそれを防ぐことができます。データをグループ化してプロットしたいのですが、すべて4ではなく1つの列しか表示されないのでできません。
編集:列を呼び出すと、最後の列しか取得できません。 'a'、 'b'、 'c'は列として、なぜそれが、どうやってそれらを再び列としてマークできますか?
あなたはそれをこのように行うことができますdf.columns
Index([u'd'], dtype='object')
いいえ、 '' GROUPBYグループあなたの行:
かを。列は、ほとんどの目的と目的のために、階層索引のようになります。集計した後、同じ行数を取得している場合、グループ化した各列は一意であると私には思われます。 –
私は質問を編集しました。列を呼び出すときに列として「d」だけ表示されるので、ここでは私の問題ではないと思います。 – faranak777
グループ化の列がインデックスに配置されています。彼らはまだデータセットに入っています。 'df.groupby(['a'、 'b'、 'c'])。sum()。reset_index()はそれらをインデックスから通常列に戻します。 –