タプルを含むデータフレームの特定の列。グループを介して集計を行うときは、明示的に指定されていない限り、その列は結果のデータフレームに表示されません。パンダタプルgroupby集約
例、
df = pd.DataFrame()
df['A'] = [1, 2, 1, 2]
df['B'] = [1, 2, 3, 4]
df['C'] = map(lambda s: (s,), df['B'])
print df
A B C
0 1 1 (1,)
1 2 2 (2,)
2 1 3 (3,)
3 2 4 (4,)
私はその列C
は、集約
print df.groupby('A').sum()
B
A
1 4
2 6
には表示されませんが、以下の方法をすれば、私は予想通り、それが明示的にそれが表示された指定した場合
print df[['A', 'C']].groupby('A').sum()
C
A
1 (1, 3)
2 (2, 4)
あなたはなぜ私に教えてください。C
列は最初のケースで表示されませんでしたか?
私はデフォルトで行きたいです。
あなたは 'df.groupby( 'A')[ 'C']のように 'C'を忘れなかった合計()' ? –
私は間違いなく何かを逃しているかもしれないが、私は正確に何がわからない。 [OK]をクリックして、追加の列 'df ['D'] = [5,6,7,8]'を追加しましょう。それで 'df.groupby( 'A')。sum()'の出力が 'B'、' C'、 'D'の3つの列を持つようにしたいのですが、' B'と 'D'しか得られません'C'。 – TruLa