我必须使用相同列的数据框。我的任务应该是从 df_nap 中减去 df_tot,而不触及第一列(“A”)。
最简单的解决方案是什么?
谢谢你!
import numpy as np
import pandas as pd
df_tot = pd.DataFrame(np.random.randint(10, size=(3,4)), columns=list('ABCD'))
df_nap = pd.DataFrame(np.random.randint(10, size=(3,4)), columns=list('ABCD'))
只需减去整个数据帧,然后将所需的值重新分配给波长列即可。
result = df_tot - df_nap
result['Wavelength'] = df_tot['Wavelength']
例如,
import numpy as np
import pandas as pd
df_tot = pd.DataFrame(np.random.randint(10, size=(3,4)), columns=list('ABCD'))
df_nap = pd.DataFrame(np.random.randint(10, size=(3,4)), columns=list('ABCD'))
# df_tot['A'] = df_nap['A'] # using column A as the "Wavelength" column
result = df_tot - df_nap
result['A'] = df_tot['A']
或者,或者如果波长列不是数字,您可以
减去除波长之外的所有内容,然后重新分配该列:
result = df_tot.drop('Wavelength', axis=1) - df_nap.drop('Wavelength', axis=1)
result['Wavelength'] = df_tot['Wavelength']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)