ValueError Traceback (most recent call last) <ipython-input-2-feccf34e33ab> in <module> 9 10 # 根据交易卡号进行合并 ---> 11 merged_search_data = pd.merge(merged_data, search_data, on='交易卡号') 12 13 # 根据交易时间条件筛选数据 D:\anoconda3\lib\site-packages\pandas\core\reshape\merge.py in merge(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate) 71 validate=None, 72 ) -> "DataFrame": ---> 73 op = _MergeOperation( 74 left, 75 right, D:\anoconda3\lib\site-packages\pandas\core\reshape\merge.py in __init__(self, left, right, how, on, left_on, right_on, axis, left_index, right_index, sort, suffixes, copy, indicator, validate) 629 # validate the merge keys dtypes. We may need to coerce 630 # to avoid incompat dtypes --> 631 self._maybe_coerce_merge_keys() 632 633 # If argument passed to validate, D:\anoconda3\lib\site-packages\pandas\core\reshape\merge.py in _maybe_coerce_merge_keys(self) 1144 inferred_right in string_types and inferred_left not in string_types 1145 ): -> 1146 raise ValueError(msg) 1147 1148 # datetimelikes must match exactly ValueError: You are trying to merge on int64 and object columns. If you wish to proceed you should use pd.concat
时间: 2024-02-14 20:26:02 浏览: 171
这个错误是由于你尝试将一个 int64 列和一个 object 列进行合并造成的。如果你想继续进行合并操作,你应该使用 pd.concat() 函数。这个函数可以在两个数据框的行方向上进行连接。你可以尝试使用以下代码来替代原来的合并操作:
```
merged_search_data = pd.concat([merged_data, search_data], axis=1)
```
这样做将会将两个数据框按照列方向进行连接,而不是按照交易卡号进行合并。请确保两个数据框的列名和顺序是正确的。
相关问题
ValueError Traceback (most recent call last) <ipython-input-1-e77514c20961> in <module> 25 26 # 构建新的数据集 ---> 27 for user_id, group in tqdm(grouped): 28 songs = list(group['song_id']) 29 for i in range(len(songs)): ValueError: too many values to unpack (expected 2)
这是一个 Python 的 ValueError 异常,提示你的代码在执行时出现了错误。具体来说,是因为在第 27 行代码中,你使用了 unpacking 的方式,但是却期望得到 2 个返回值。而实际上,grouped 这个变量返回的值可能不是一个长度为 2 的 tuple。你可以检查一下 grouped 这个变量的类型和值,看看是否符合你的预期。如果不符合,你需要调整代码以适应实际情况。
ValueError Traceback (most recent call last) <ipython-input-9-30d4162d3ab9> in <module>() ----> 1 contours, hierarchy = cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 2 3 for item in contours: 4 rect = cv2.boundingRect(item) 5 x = rect[0] ValueError: too many values to unpack (expected 2)
这个错误的原因是 `cv2.findContours()` 函数的返回值在 OpenCV 3 和 OpenCV 4 中有所不同。在 OpenCV 4 中, `cv2.findContours()` 返回两个值,分别是轮廓和层级信息。而在 OpenCV 3 中, `cv2.findContours()` 只返回轮廓信息。
因此,如果你使用的是 OpenCV 3,那么你需要将代码修改为:
```python
contours, _ = cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
```
如果你使用的是 OpenCV 4,则可以保留原来的代码不变。
阅读全文