【发布时间】:2017-12-06 01:14:34
【问题描述】:
我正在尝试使用基于国家/地区的不同值来填充数据集的缺失值
def avgtemp(列): 平均温度 = cols[0] 国家 = cols[1] 如果 state.isnull(AverageTemperature): 如果国家 == “巴西”: 返回 23.770601 elif 国家 == “俄罗斯”: 返回 1.808555 elif 国家 == “美国”: 返回 10.701555 elif 国家 == “加拿大”: 返回 -1.321079 elif 国家 == “印度”: 返回 22.534576 elif 国家 == “中国”: 返回 11.206830 elif 国家 == “澳大利亚”: 返回 17.664222 别的: 返回 8.9931 别的: 返回平均温度 state['AverageTemperature'] = state[['AverageTemperature','Country']].apply(avgtemp,axis=1)但我不断收到此错误
-------------------------------------------------- ------------------------- TypeError Traceback(最近一次调用最后一次) 在 () ----> 1 state['AverageTemperature'] = state[['AverageTemperature','Country']].apply(avgtemp,axis=1) C:\Anaconda3\lib\site-packages\pandas\core\frame.py in apply(self, func, axis, broadcast, raw, reduce, args, **kwds) 4059 如果减少是无: 4060减少=真 -> 4061 返回 self._apply_standard(f, axis, reduce=reduce) 4062 其他: 第4063章 C:\Anaconda3\lib\site-packages\pandas\core\frame.py 在 _apply_standard(self, func, axis, ignore_failures, reduce) 4155 尝试: 4156 for i, v in enumerate(series_gen): -> 4157 个结果[i] = func(v) 第4158章 4159 例外为 e: 在 avgtemp(cols) 3 国家 = 列 [1] 4 ----> 5 如果 state.isnull(AverageTemperature): 6 7 如果国家 == “巴西”: TypeError: ('isnull() 接受 1 个位置参数,但给出了 2 个','发生在索引 0')【问题讨论】: