python - 调用函数后如何在python中使用inplace?
问题描述
情况1
我有 7 列,其中包含"???"
. 我已经"???"
用 NAN替换了np.nan
. 当我尝试再次读取数据框时, "???"
显示相同。如何就地使用并在主数据框中进行更改?
案例:2
我正在使用函数来清理所有 7 列并得到以下错误消息
案例编码:1
df
是我的数据框
df.iloc[:, 0:8].replace('???', np.nan)
运行上述代码后,我得到了 NAN。
然后我尝试再次阅读 df 然后"???"
列中出现相同的内容。
无法粘贴屏幕截图。
案例:2
def cleaning(x):
x = x.replace("???", np.nan)
return(x)
df = df.iloc[:, 0:8]
df.applymap(cleaning)
所有列的 dtype 都是对象
错误:
TypeError: ('replace() argument 2 must be str, not float', 'occurred at index Transport')
解决方案
在这两种情况下,您都需要将其分配回 df[:, 0:8]:
案例1:
df.iloc[:, 0:8] =df.iloc[:, 0:8].astype(str).replace('???', np.nan)
案例2:
def cleaning(x):
x =x.replace('???', np.nan)
return(x)
df.iloc[:, 0:8] =df.iloc[:, 0:8].astype(str).apply(cleaning)
推荐阅读
- database - 使用 EXTRACT 获取单位时 PostgreSQL 错误
- php - Laravel 在 Ajax 模式中调用 response()->file($pathToFile)
- peewee - 如何将查询绑定到数据库?
- regex - 移动主题与特定 RegEx 匹配的电子邮件
- laravel - 在 php 刀片文件中,客户端令牌 Vue 组件未显示
- angular - ngFor 过滤器在子组件中返回 no items 消息
- python - 使用 Python YouTube API 的 API 请求数量庞大
- java - 如何在 java 中创建一个安全的泛型数组对象?
- html - 导航溢出框阴影
- hibernate - 更新对象时Spring启动多对一映射错误