首先,请原谅我的技能。我试图进入Python,我只是为了好玩而学习,让我说,我不专业地使用它,而且我很不好,说实话。我的问题可能会有基本错误。
无论如何,我试图查看数据框的行和列。我想检查列的值(第一个除外)是否为NaN。如果是,那么他们应该改为第一个的价值。
import math
for index, row in rawdata3.iterrows():
test = row[0]
for column in row:
if math.isnan(row.loc[column]) == True:
row.loc[column] = test
我得到的错误是这样的:
标签[4.0]不在[columns]
中
我还有其他错误,代码略有不同,如:
无法对类pandas.core.indexes.base.Index进行标签索引,使用这些索引器类float
请问你帮我一个忙吗?
提前致谢!
干杯。
答案 0 :(得分:0)
df是:
A B C
0 5 NaN 2.0
1 6 5.0 NaN
2 9 NaN NaN
3 2 4.0 6.0
使用transpose
和fillna
:
由于fillna“NotImplementedEerror” NotImplementedError:目前只能填写dict / Series列 按列
df.fillna(value=df.A, axis=1)
无效。因此我们使用:
df.T.fillna(df.A).T
输出:
A B C
0 5.0 5.0 2.0
1 6.0 5.0 6.0
2 9.0 9.0 9.0
3 2.0 4.0 6.0
答案 1 :(得分:0)
我不知道是否有更好的方法,但这很好用:
for i in df.columns:
df.loc[df[i].isnull(), i] = df.loc[df[i].isnull(), 'A']
输出:
A B C
0 5 5.0 2.0
1 6 5.0 6.0
2 9 9.0 9.0
3 2 4.0 6.0