用另一列的值填充一列的 nan 值
Fill nan values from a column with values from another column
我正在处理一个时间序列数据集,我的兴趣列是月份列 (mes)、年份列 (ano)、最低价格 (min) 和模态价格 (mcom)。
从 2013 年开始的某些月份在 min 列中没有任何值,并且在那些月份中想要填充 mcom 列中的值。
我使用以下行查找没有最小值的月份:
dfc.loc[(dfc['ano'] == 2013) & (dfc['mes'] == 1)]
基本上,我想在
时用 'mcom' 列中的值填充 'min' 列
dfc['ano'] == 2013 & dfc['mes'] == 1
我该怎么做?
这是数据帧的头部:
data dia mes ano wday prod und proc tipo min mcom max merc date julian
6 02/01/2013 2 1 2013 quarta Peixe de agua salgada Kg RS-SC Sardinha NaN 5.28 5.28 Est 2013-01-02 12:00:00 1.416667
14 03/01/2013 3 1 2013 quinta Peixe de agua salgada Kg RS-SC Sardinha NaN 5.28 5.28 Est 2013-01-03 12:00:00 2.416667
22 04/01/2013 4 1 2013 sexta Peixe de agua salgada Kg RS-SC Sardinha NaN 5.28 5.28 Est 2013-01-04 12:00:00 3.416667
30 07/01/2013 7 1 2013 segunda Peixe de agua salgada Kg RS-SC Sardinha NaN 5.28 5.28 Est 2013-01-07 12:00:00 6.416667
38 08/01/2013 8 1 2013 nan Peixe de agua salgada Kg RS-SC Sardinha NaN 5.28 5.28 Est 2013-01-08 12:00:00 7.416667
'tipo'变量,只有'sardinha',变量类型为:
dfc.dtypes
data object
dia int64
mes int64
ano int64
wday object
prod object
und object
proc object
tipo object
min float64
mcom float64
max float64
merc object
date object
julian float64
dtype: object
m = (dfc['ano'] == 2013) & (dfc['mes'] == 1)
dfc.loc[m, 'min'] = dfc.loc[m, 'mcom']
# or
dfc['min'] = dfc['min'].mask(m, df['mcom'])
# or
dfc['min'] = np.where(m, df['mcom'], dfc['min'])
我正在处理一个时间序列数据集,我的兴趣列是月份列 (mes)、年份列 (ano)、最低价格 (min) 和模态价格 (mcom)。
从 2013 年开始的某些月份在 min 列中没有任何值,并且在那些月份中想要填充 mcom 列中的值。
我使用以下行查找没有最小值的月份:
dfc.loc[(dfc['ano'] == 2013) & (dfc['mes'] == 1)]
基本上,我想在
时用 'mcom' 列中的值填充 'min' 列dfc['ano'] == 2013 & dfc['mes'] == 1
我该怎么做?
这是数据帧的头部:
data dia mes ano wday prod und proc tipo min mcom max merc date julian
6 02/01/2013 2 1 2013 quarta Peixe de agua salgada Kg RS-SC Sardinha NaN 5.28 5.28 Est 2013-01-02 12:00:00 1.416667
14 03/01/2013 3 1 2013 quinta Peixe de agua salgada Kg RS-SC Sardinha NaN 5.28 5.28 Est 2013-01-03 12:00:00 2.416667
22 04/01/2013 4 1 2013 sexta Peixe de agua salgada Kg RS-SC Sardinha NaN 5.28 5.28 Est 2013-01-04 12:00:00 3.416667
30 07/01/2013 7 1 2013 segunda Peixe de agua salgada Kg RS-SC Sardinha NaN 5.28 5.28 Est 2013-01-07 12:00:00 6.416667
38 08/01/2013 8 1 2013 nan Peixe de agua salgada Kg RS-SC Sardinha NaN 5.28 5.28 Est 2013-01-08 12:00:00 7.416667
'tipo'变量,只有'sardinha',变量类型为:
dfc.dtypes
data object
dia int64
mes int64
ano int64
wday object
prod object
und object
proc object
tipo object
min float64
mcom float64
max float64
merc object
date object
julian float64
dtype: object
m = (dfc['ano'] == 2013) & (dfc['mes'] == 1)
dfc.loc[m, 'min'] = dfc.loc[m, 'mcom']
# or
dfc['min'] = dfc['min'].mask(m, df['mcom'])
# or
dfc['min'] = np.where(m, df['mcom'], dfc['min'])