python - 如何在我的 pandas 数据框列中设置具有不同值的空值
问题描述
我正在尝试将我的数据框中的一些空值设置为不同的值:'Non-étiquettés'
page_data_fr['Lookup_FR_tag'].loc[page_data_fr['Lookup_FR_tag'].isnull()] = page_data_fr['Lookup_FR_tag'].loc[page_data_fr['Lookup_FR_tag'].isnull()].apply(lambda x: ['Non-étiquettés'])
但是,使用上述方法设置值会导致以下警告:
试图在 DataFrame 中的切片副本上设置一个值
请参阅文档中的注意事项:https ://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
在阅读了文档并尝试调整我的代码后,我尝试了这个......
dfc = page_data_fr.copy()
mask = dfc['Lookup_FR_tag'].loc[page_data_fr['Lookup_FR_tag'].isnull()]
dfc['Lookup_FR_tag'].loc[mask, 'Lookup_FR_tag'] = 'Non-étiquettés'
这仍然会产生另一个错误:
ValueError:无法使用包含 NA / NaN 值的非布尔数组进行屏蔽 dfc['Lookup_FR_tag'].loc[page_data_fr['Lookup_FR_tag'].isnull()]
我也尝试过这样做,但仍然不好:
arrOfNulls = []
counter = 0
for x in dfc['Lookup_FR_tag'].isnull():
if x == True:
arrOfNulls.append(counter)
counter += 1
counter += 1
for x in range(len(arrOfNulls)):
page_data_fr['Lookup_FR_tag'][arrOfNulls[x]] = ['Non-étiquettés']
任何帮助将不胜感激,我不确定我做错了什么或者我是否接近..
解决方案
你可以这样做:
import numpy as np
page_data_fr['Lookup_FR_tag'].replace(np.nan,"Non-étiquettés")
推荐阅读
- html - 如何使用支持所有视口的 css 将 html 表单定位在图像的特定部分?
- java - Java Mission Control 没有列出任何要连接的 JVM
- django - 使用 datetime 对象过滤 Django 中的查询集(截断为天)
- node.js - 节点模块 cloudfront-log-parser 无法正确解析 AWS CloudFront 日志
- vba - 如何截断字符串的开头
- php - 路由没有指向 Laravel 中的控制器
- python-3.x - 如何在终端中删除给参数并在 argparse 中添加我自己的参数
- javascript - 为什么我们需要使用@ViewChild 从其他组件调用组件的功能?
- mysql - useUnicode 属性在 com.mysql.cj.jdbc.MysqlDataSource 上不可用
- android - 自定义 RecyclerView 为空