私は日、購入、および売る値のデータフレームを持っており、そのデータフレームにpivot_table
を行うことは作品の各日付のすべての売り/買い値を取得するために動作が異なります。パンダpivot_tableは少し異なるデータ
data = [('20170325', 'Buy', 400),
('20170325', 'Buy', 401),
('20170323', 'Buy', 400),
('20170324', 'Sell', 400)]
testDf = pd.DataFrame(data, columns=['Date', 'Scenario', 'Value'])
df1 = pd.pivot_table(testDf, columns='Scenario', index='Date', values='Value',
fill_value = '', aggfunc=lambda x: x.tolist() if len(x)>1 else x)
df1
# Scenario Buy Sell
# Date
# 20170323 400
# 20170324 400
# 20170325 [400, 401]
私のデータはビットを変更した場合でも、pivot_table
でエラーが発生します:ValueErrorを:機能を減らすことはありません。理由を理解できません。ここでは異なるデータのエラーがあります。 日付のがに変更されています。
data = [('20170321', 'Buy', 400),
('20170321', 'Buy', 401),
('20170323', 'Buy', 400),
('20170324', 'Sell', 400)]
testDf = pd.DataFrame(data, columns=['Date', 'Scenario', 'Value'])
df1 = pd.pivot_table(testDf, columns='Scenario', index='Date', values='Value',
fill_value = '',aggfunc=lambda x: x.tolist() if len(x)>1 else x)
Traceback (most recent call last): File "", line 1, in
File "ext2\vc12_win32\lib\python2.7\site-packages\pandas\tools\pivot.py", line 114, in pivot_table
File "ext2\vc12_win32\lib\python2.7\site-packages\pandas\core\groupby.py", line 729, in agg
File "ext2\vc12_win32\lib\python2.7\site-packages\pandas\core\groupby.py", line 2978, in aggregate
File "ext2\vc12_win32\lib\python2.7\site-packages\pandas\core\groupby.py", line 1227, in _python_agg_general
File "ext2\vc12_win32\lib\python2.7\site-packages\pandas\core\groupby.py", line 1733, in agg_series
File "ext2\vc12_win32\lib\python2.7\site-packages\pandas\core\groupby.py", line 1767, in _aggregate_series_pure_python
ValueError: Function does not reduce
@ScottBostonは以下のとおり述べて、そのエラーが両方のデータセットで発生します。 – Parfait