【发布时间】:2021-10-13 15:22:50
【问题描述】:
继续我的上一个问题
假设我将数据框扩展为如下所示的内容
import pandas as pd
import numpy as np
na = np.nan
df = pd.DataFrame({
'location' : ['a','a','a','a','a','b','b','b','b','b'],
'temp' : [11.6,12.2,na,12.4,12.9,na,17.6,17.4,17.2,16.8],
'precip': [0.22,0.22,0.24,na,0.27,0.33,na,0.34,0.34,0.37]
})
我只想填写 location a 上缺少的 temp 值。 我试过这样的事情
df[df['location'] == 'a']['temp'] = df[df['location'] == 'a']['temp'].interpolate()
它给了我这个错误
<string>:12: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
location temp precip
0 a 11.6 0.22
1 a 12.2 0.22
2 a NaN 0.24
3 a 12.4 NaN
4 a 12.9 0.27
5 b NaN 0.33
6 b 17.6 NaN
7 b 17.4 0.34
8 b 17.2 0.34
9 b 16.8 0.37
任何帮助或参考将不胜感激。 谢谢
【问题讨论】:
标签: python pandas dataframe numpy