我加入了digiplay_video_services_t和dsr_conflict_df这两种数据格式。
common_cols = ['region', 'management_area', 'rf_line_up_name', 'site', 'frequency_name', 'sdv_site', 'bandwidth_spectrum_width', 'qam_rf_label']
dsr_digiplay_conflicts = pd.merge(digiplay_video_services_t, dsr_conflict_df,
left_on = common_cols + ['reference_lcm_name', 'dwnstrm_plant', 'frequency', 'eia', 'source_id'],
right_on = common_cols + ['reference_lcm_name', 'dwnstrm_plant', 'frequency', 'eia', 'source_id'], how = 'outer', indicator = True)
我得到了下面的错误,这里给出了堆栈跟踪。
Traceback (most recent call last):
File "task_3_build_wt_video_services.py", line 1141, in <module>
main()
File "task_3_build_wt_video_services.py", line 624, in main
how = 'outer', indicator = True)
File "/var/lib/airflow/venv/lib/python3.6/site-packages/pandas/core/reshape/merge.py", line 89, in merge
return op.get_result()
File "/var/lib/airflow/venv/lib/python3.6/site-packages/pandas/core/reshape/merge.py", line 668, in get_result
join_index, left_indexer, right_indexer = self._get_join_info()
File "/var/lib/airflow/venv/lib/python3.6/site-packages/pandas/core/reshape/merge.py", line 884, in _get_join_info
(left_indexer, right_indexer) = self._get_join_indexers()
File "/var/lib/airflow/venv/lib/python3.6/site-packages/pandas/core/reshape/merge.py", line 863, in _get_join_indexers
self.left_join_keys, self.right_join_keys, sort=self.sort, how=self.how
File "/var/lib/airflow/venv/lib/python3.6/site-packages/pandas/core/reshape/merge.py", line 1328, in _get_join_indexers
zipped = zip(*mapped)
File "/var/lib/airflow/venv/lib/python3.6/site-packages/pandas/core/reshape/merge.py", line 1326, in <genexpr>
for n in range(len(left_keys))
File "/var/lib/airflow/venv/lib/python3.6/site-packages/pandas/core/reshape/merge.py", line 1974, in _factorize_keys
rlab = rizer.factorize(rk)
File "pandas/_libs/hashtable.pyx", line 96, in pandas._libs.hashtable.Factorizer.factorize
File "pandas/_libs/hashtable_class_helper.pxi", line 1880, in pandas._libs.hashtable.PyObjectHashTable.get_labels
File "pandas/_libs/hashtable_class_helper.pxi", line 1787, in pandas._libs.hashtable.PyObjectHashTable._unique
TypeError: unhashable type: 'numpy.ndarray'
我正在使用Python3.6和熊猫1.1.2。
发布于 2021-12-05 06:42:04
这是我的理论。
熊猫库使用的是所有索引和列的散列值,因此必须为其提供不可变(hashable)变量,但np.array
是可变的(更多介绍可变和不变的这里)。用于检查变量是否是可选的。
try:
hash(the_varible)
except TypeError:
print( "It's unhashable.")
else:
print( "It's hashable.")
https://stackoverflow.com/questions/70231401
复制相似问题