我正在尝试合并两个数据框。我想按列“添加”它们Имя
,但由于某种原因它给出了一个错误:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "D:\Программы\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
pydev_imports.execfile(filename, global_vars, local_vars) # execute the script
File "D:\Программы\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:/Рабочая папка/Работа/Соц. сети/Актуализация цен в VK/test.py", line 7, in <module>
a.merge(b)
File "C:\Users\musix\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\frame.py", line 8192, in merge
return merge(
File "C:\Users\musix\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\reshape\merge.py", line 74, in merge
op = _MergeOperation(
File "C:\Users\musix\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\reshape\merge.py", line 650, in __init__
self._validate_specification()
File "C:\Users\musix\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\reshape\merge.py", line 1283, in _validate_specification
raise MergeError(
pandas.errors.MergeError: No common columns to perform merge on. Merge options: left_on=None, right_on=None, left_index=False, right_index=False
以下是这两个 DataFrame 中的内容:
Артикул Имя
0 13713 Двигатель Aurora АЕ-9/Р (со шкивом)
1 13716 Двигатель Aurora АЕ-14D/Р (со шкивом)
2 13715 Двигатель Aurora АЕ-14/Р (со шкивом)
3 13714 Двигатель Aurora АЕ-9D/Р (со шкивом)
4 13712 Двигатель Aurora АЕ-7D/Р (со шкивом)
... ...
1134 504.5.05.110.01 Сменный ствол на монтажный пистолет Toua GSN50...
1135 504.5.05.110.01.2 Сменный ствол на монтажный пистолет Toua GSN50...
1136 gncs-520 Спрей для чистки инструментов
1137 sdi-toua Сумка для инструмента Toua
1138 85-0002 Универсальный очиститель Rexant CLEANER 400 мл
[1139 rows x 2 columns]
Name ID in VK
0 Двигатель Aurora АЕ-9/Р (со шкивом) 4745231
1 Двигатель Aurora АЕ-14D/Р (со шкивом) 4745230
2 Двигатель Aurora АЕ-14/Р (со шкивом) 4745229
3 Двигатель Aurora АЕ-9D/Р (со шкивом) 4745228
4 Двигатель Aurora АЕ-7D/Р (со шкивом) 4745227
... ...
1027 Масло моторное FUBAG Extra Pro SL/CF (SAE 5W-40) 4659064
1028 Масло моторное Fubag Extra (SAE 10W40) 4659063
1029 Масло моторное Fubag 2Т Extra 4659062
1030 Блок автоматики FUBAG Startmaster DS 25000 D (... 4659056
1031 Блок автоматики FUBAG Startmaster DS 25000 (230V) 4659055
[1032 rows x 2 columns]
这是代码:
import pandas as pd
a = pd.read_csv('Арт и имя.csv')
b = pd.read_csv('borisych.csv')
print(a)
print(b)
a.merge(b)
print(a)
如果执行联合的列的名称不匹配,则必须明确指定,如错误所示:
试试这样: