С хорошими методами индексирования в Pandas у меня нет проблем с извлечением данных по-разному. С другой стороны, я все еще смущен тем, как изменять данные в существующем DataFrame.
В следующем коде у меня есть два DataFrames, и моя цель - обновить значения в определенной строке в первом df из значений второго df. Как я могу достичь этого?
import pandas as pd
df = pd.DataFrame({'filename' : ['test0.dat', 'test2.dat'],
'm': [12, 13], 'n' : [None, None]})
df2 = pd.DataFrame({'filename' : 'test2.dat', 'n':16}, index=[0])
# this overwrites the first row but we want to update the second
# df.update(df2)
# this does not update anything
df.loc[df.filename == 'test2.dat'].update(df2)
print(df)
дает
filename m n
0 test0.dat 12 None
1 test2.dat 13 None
[2 rows x 3 columns]
но как я могу достичь этого:
filename m n
0 test0.dat 12 None
1 test2.dat 13 16
[2 rows x 3 columns]