2

datetimeindex をインデックスとしてデータフレームからピボット テーブルを作成するのに問題があります。完全なコードを表示するための編集

問題のコードは

unit1 = ["U1", "U1", "U1", "U1", "U1", "U1"]
name1 = ["fn ln", "fn ln2", "fn ln3", "fn ln4", "fn ln5", "fn ln6"]
count1 = [2,4,6,8,10,12]

df = pd.DataFrame( {'Date': pd.Timestamp('2016-01-01'),
                    'Unit': unit1,
                    'Name"': name1,
                    'Count': count1})
df2 = df.set_index(pd.DatetimeIndex(df.Date))
df2['Month'] = df2.index.month

# this line succeeds
pt = pd.pivot_table(df, index=df2.index.month, values='Count')

# this line fails with Series object has no attribute month
pt = pd.pivot_table(df, index=df2.Month.month, values='Count')

データフレーム (_stat_axis) の内部は、インデックス フィールドが DatetimeIndex であることを示しています。月の列にも datetimeindex 設定がありますが、ピボット テーブルを作成してもシリーズ エラーが発生します。

4

1 に答える 1

1

多分あなたはにパラメータvaluesを追加することができますpivot_table

print df
           Unit   Name  Count
2013-01-01   U1  fn ln      2
2013-01-01   U1  fn ln    200
2013-01-01   U2  fn ln     55

print pd.pivot_table(df, index=df.index.month, values="Count", aggfunc=np.sum)
1    257
Name: Count, dtype: int64
于 2016-01-30T09:11:12.917 に答える