gpt4 book ai didi

python - 为什么我不能将数组分配给 pandas DataFrame 列?

转载 作者:太空宇宙 更新时间:2023-11-04 05:25:14 25 4
gpt4 key购买 nike

我正在使用 KNeighborsClassifier 对一些值进行分类,如下所示:

arr = classifier_3NN.predict(testData_df)
len(arr)
10960

我想将这个数组分配给 DataFrame 中的一个列,我已经检查过并且它的大小相同:

len(df[df['events']=='NaN']['events'])
10960

When I do the following command the array values are not in the column as expected:

df[df['events']=='NaN']['events'] = arr

谁能看出我做错了什么?

最佳答案

我想你需要isnullix 检查 NaN 值:

df.ix[df['events'].isnull(), 'events'] = arr

但如果需要用 arr 替换 NaN 值,最好使用 fillna通过 Seriesarr 创建:

arr = [5,7,9]

df = pd.DataFrame({'events':[np.nan, 1, np.nan]})
print (df)
events
0 NaN
1 1.0
2 NaN

df['events'] = df['events'].fillna(pd.Series(arr, index=df.index))
print (df)
events
0 5.0
1 1.0
2 9.0

关于python - 为什么我不能将数组分配给 pandas DataFrame 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39011954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com