Надеюсь, вы можете помочь в этом.Я ломал голову, чтобы понять это.У меня есть следующий pandas dataframe, df.info ниже:
DatetimeIndex: 18135 entries, 2019-09-20 14:32:02 to 2019-07-29 10:13:07
Data columns (total 10 columns):
OrderNo 18135 non-null object
HasDiscrepency 18135 non-null object
CreatedDate 18135 non-null datetime64[ns]
ExportedDate 18135 non-null datetime64[ns]
ExportedBy 18135 non-null object
XDStr 18135 non-null object
XMStr 18135 non-null object
V2X 18135 non-null timedelta64[ns]
V2Xt 18135 non-null float64
AutoExported 18135 non-null bool
dtypes: bool(1), datetime64[ns](2), float64(1), object(5), timedelta64[ns](1)
Пример данных из него:
{'OrderNo': {Timestamp('2019-09-20 14:32:02'): '225-191369-0',
Timestamp('2019-09-20 14:20:38'): 'OrderOne',
Timestamp('2019-09-20 14:33:39'): 'OrderTwo',
Timestamp('2019-09-20 14:11:32'): '30462951',
Timestamp('2019-09-20 14:11:09'): '259257',
Timestamp('2019-09-20 13:58:50'): 'ABC12345',
Timestamp('2019-09-20 13:44:32'): '82/02357',
Timestamp('2019-09-20 13:43:31'): '05/077228',
Timestamp('2019-09-20 13:31:11'): 'DEF456',
Timestamp('2019-09-20 13:31:01'): '6425V1874720G'},
'HasDiscrepency': {Timestamp('2019-09-20 14:32:02'): array(False),
Timestamp('2019-09-20 14:20:38'): array(True),
Timestamp('2019-09-20 14:33:39'): array(True),
Timestamp('2019-09-20 14:11:32'): array(False),
Timestamp('2019-09-20 14:11:09'): array(False),
Timestamp('2019-09-20 13:58:50'): array(True),
Timestamp('2019-09-20 13:44:32'): array(False),
Timestamp('2019-09-20 13:43:31'): array(True),
Timestamp('2019-09-20 13:31:11'): array(False),
Timestamp('2019-09-20 13:31:01'): array(False)},
'CreatedDate': {Timestamp('2019-09-20 14:32:02'): Timestamp('2019-09-20 14:31:29'),
Timestamp('2019-09-20 14:20:38'): Timestamp('2019-09-20 14:17:17'),
Timestamp('2019-09-20 14:33:39'): Timestamp('2019-09-20 14:14:58'),
Timestamp('2019-09-20 14:11:32'): Timestamp('2019-09-20 14:10:23'),
Timestamp('2019-09-20 14:11:09'): Timestamp('2019-09-20 14:07:16'),
Timestamp('2019-09-20 13:58:50'): Timestamp('2019-09-20 13:57:47'),
Timestamp('2019-09-20 13:44:32'): Timestamp('2019-09-20 13:44:20'),
Timestamp('2019-09-20 13:43:31'): Timestamp('2019-09-20 13:36:59'),
Timestamp('2019-09-20 13:31:11'): Timestamp('2019-09-20 13:31:03'),
Timestamp('2019-09-20 13:31:01'): Timestamp('2019-09-20 13:26:21')},
'ExportedDate': {Timestamp('2019-09-20 14:32:02'): Timestamp('2019-09-20 14:32:02'),
Timestamp('2019-09-20 14:20:38'): Timestamp('2019-09-20 14:20:38'),
Timestamp('2019-09-20 14:33:39'): Timestamp('2019-09-20 14:33:39'),
Timestamp('2019-09-20 14:11:32'): Timestamp('2019-09-20 14:11:32'),
Timestamp('2019-09-20 14:11:09'): Timestamp('2019-09-20 14:11:09'),
Timestamp('2019-09-20 13:58:50'): Timestamp('2019-09-20 13:58:50'),
Timestamp('2019-09-20 13:44:32'): Timestamp('2019-09-20 13:44:32'),
Timestamp('2019-09-20 13:43:31'): Timestamp('2019-09-20 13:43:31'),
Timestamp('2019-09-20 13:31:11'): Timestamp('2019-09-20 13:31:11'),
Timestamp('2019-09-20 13:31:01'): Timestamp('2019-09-20 13:31:01')},
'ExportedBy': {Timestamp('2019-09-20 14:32:02'): 'UserA',
Timestamp('2019-09-20 14:20:38'): 'UserB',
Timestamp('2019-09-20 14:33:39'): 'UserA',
Timestamp('2019-09-20 14:11:32'): 'UserD',
Timestamp('2019-09-20 14:11:09'): 'UserD',
Timestamp('2019-09-20 13:58:50'): 'UserD',
Timestamp('2019-09-20 13:44:32'): 'UserD',
Timestamp('2019-09-20 13:43:31'): 'UserF',
Timestamp('2019-09-20 13:31:11'): 'UserG',
Timestamp('2019-09-20 13:31:01'): 'UserG'},
'XDStr': {Timestamp('2019-09-20 14:32:02'): '2019-09-20',
Timestamp('2019-09-20 14:20:38'): '2019-09-20',
Timestamp('2019-09-20 14:33:39'): '2019-09-20',
Timestamp('2019-09-20 14:11:32'): '2019-09-20',
Timestamp('2019-09-20 14:11:09'): '2019-09-20',
Timestamp('2019-09-20 13:58:50'): '2019-09-20',
Timestamp('2019-09-20 13:44:32'): '2019-09-20',
Timestamp('2019-09-20 13:43:31'): '2019-09-20',
Timestamp('2019-09-20 13:31:11'): '2019-09-20',
Timestamp('2019-09-20 13:31:01'): '2019-09-20'},
'XMStr': {Timestamp('2019-09-20 14:32:02'): '2019 09',
Timestamp('2019-09-20 14:20:38'): '2019 09',
Timestamp('2019-09-20 14:33:39'): '2019 09',
Timestamp('2019-09-20 14:11:32'): '2019 09',
Timestamp('2019-09-20 14:11:09'): '2019 09',
Timestamp('2019-09-20 13:58:50'): '2019 09',
Timestamp('2019-09-20 13:44:32'): '2019 09',
Timestamp('2019-09-20 13:43:31'): '2019 09',
Timestamp('2019-09-20 13:31:11'): '2019 09',
Timestamp('2019-09-20 13:31:01'): '2019 09'},
'V2X': {Timestamp('2019-09-20 14:32:02'): Timedelta('0 days 00:00:17'),
Timestamp('2019-09-20 14:20:38'): Timedelta('0 days 00:03:00'),
Timestamp('2019-09-20 14:33:39'): Timedelta('0 days 00:02:43'),
Timestamp('2019-09-20 14:11:32'): Timedelta('0 days 00:00:12'),
Timestamp('2019-09-20 14:11:09'): Timedelta('0 days 00:00:20'),
Timestamp('2019-09-20 13:58:50'): Timedelta('0 days 00:00:51'),
Timestamp('2019-09-20 13:44:32'): Timedelta('0 days 00:00:08'),
Timestamp('2019-09-20 13:43:31'): Timedelta('0 days 00:02:16'),
Timestamp('2019-09-20 13:31:11'): Timedelta('0 days 00:00:08'),
Timestamp('2019-09-20 13:31:01'): Timedelta('0 days 00:04:40')},
'V2Xt': {Timestamp('2019-09-20 14:32:02'): 17.0,
Timestamp('2019-09-20 14:20:38'): 180.0,
Timestamp('2019-09-20 14:33:39'): 163.0,
Timestamp('2019-09-20 14:11:32'): 12.0,
Timestamp('2019-09-20 14:11:09'): 20.0,
Timestamp('2019-09-20 13:58:50'): 51.0,
Timestamp('2019-09-20 13:44:32'): 8.0,
Timestamp('2019-09-20 13:43:31'): 136.0,
Timestamp('2019-09-20 13:31:11'): 8.0,
Timestamp('2019-09-20 13:31:01'): 280.0},
'AutoExported': {Timestamp('2019-09-20 14:32:02'): False,
Timestamp('2019-09-20 14:20:38'): False,
Timestamp('2019-09-20 14:33:39'): False,
Timestamp('2019-09-20 14:11:32'): False,
Timestamp('2019-09-20 14:11:09'): False,
Timestamp('2019-09-20 13:58:50'): False,
Timestamp('2019-09-20 13:44:32'): False,
Timestamp('2019-09-20 13:43:31'): False,
Timestamp('2019-09-20 13:31:11'): True,
Timestamp('2019-09-20 13:31:01'): True}}
XMStr
и XDStr
- даты, отформатированные как строки, чтобы помочь смои отчеты.Оба основаны на индексе ExpDate.V2X
- это timedelta, в то время как V2Xt
V2X
отформатирован как float.HasDiscrepency
является истинным / ложным значением
Из этих данных я пытаюсь выполнить следующее.Предполагается генерировать отчет о среднем V2Xt в месяц, разделенный на HasDiscrepency (Y или N):
v2x_pivot = pd.pivot_table(df['2019-07-29':'2019-09-20'],
index=['XMStr'],
columns=['HasDiscrepency'],
values=['V2Xt'],
margins=True,
aggfunc=[np.mean])
Но я сталкиваюсь с этим:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
...
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.factorize()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable._unique()
TypeError: unhashable type: 'numpy.ndarray'
Любойидеи как решить это?Нужно ли что-то менять в моих столбцах?