Пожалуйста, помогите мне с обновлением файла на основе значений из другого файла.
Я получил файл "todays_file1.csv" и ниже таблица:
name day a_col b_col c_col
alex 22-05 rep 68 67
stacy 22-05 sme 79 81
penny 22-05 rep 74 77
gabbi 22-05 rep 59 61
Итак, мне нужно обновить значения только из ['day', 'b_col', 'c_col'] во второй файл "my_file.csv ", в котором слишком много других столбцов.
name day a_col a_foo b_col b_foo c_col
penny 21-May rep 2 69 31 69
alex 21-May rep 2 71 34 62
gabbi 21-May rep 1 62 32 66
stacy 21-May sme 3 73 38 78
Код, который у меня есть, приведен ниже:
df1 = pd.read_csv("todays_file1.csv")
df2 = pd.read_csv("my_file.csv")
df2.replace(to_replace=df2['day', 'b_col', 'c_col'], value= df1['day', 'b_col', 'c_col'], inplace=True)
Пожалуйста, помогите, как заменить 3 столбцы на основе столбца 'name', который является общим для обоих, но может быть беспорядочным.
Я получаю следующую ошибку:
Traceback (most recent call last):
File "D:\TESTING\Trial.py", line 93, in <module>
df2.replace(to_replace=df2['day', 'b_col', 'c_col'], value= df1['day', 'b_col', 'c_col'], inplace=True)
File "C:\Winpy\WPy64-3770\python-3.7.7.amd64\lib\site-packages\pandas\core\frame.py", line 2800, in __getitem__
indexer = self.columns.get_loc(key)
File "C:\Winpy\WPy64-3770\python-3.7.7.amd64\lib\site-packages\pandas\core\indexes\base.py", line 2648, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas\_libs\index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
File "pandas\_libs\index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
File "pandas\_libs\hashtable_class_helper.pxi", line 1619, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas\_libs\hashtable_class_helper.pxi", line 1627, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: ('day', 'b_col', 'c_col')