python - 我想从包含 * 的值中删除 * 最后说 20*, 30* 从列中
问题描述
我有一个包含列中的值的数据框:
df = pd.DataFrame({
'A': ['20*', 40, '30*' ],
'B': ['abc', 'bar', 'xyz'],
})
我想删除*
in 列A
,结果应该是:['20', 40, '30' ]
如何做到这一点?
解决方案
使用str.rstrip
with fillna
,注意你的列 A 是同时包含 string 和 int 的对象,这就是为什么str.rstrip
会在 int 单元格上返回 NaN ,然后我们只需要使用fillna
填充它
df.A=df.A.str.rstrip('*').fillna(df.A)
推荐阅读
- laravel - 我如何处理这种数据传递给 Laravel 刀片?
- javascript - 如何从 React Select 访问值并将它们传递给提交时的 Formik 值?
- elasticsearch - Elasticsearch 返回数组中的特定索引(_source 字段)
- machine-learning - 分类和回归树 (CART) 的分类属性拆分
- internet-explorer-11 - 支持 IE11 的 vue cli3 库
- java - 未检索到微调器字符串并传递给 volleyrequest
- python - 查找以 1 分钟间隔采样的 pandas 时间序列数据帧中的空白,并用新行填补空白
- angular - Angular ngx-translate 内部服务
- reactjs - ReferenceError:未知选项:.present
- mongodb - mongodb 仅显示 objectId 的 str