python - 去掉空方括号给出 ValueError: invalid literal for int() with base 10:
问题描述
我正在使用以下代码从我的 df 中删除方括号:
test[column].str.strip('[]').astype(int)
只要方括号中有字符串值,它就可以正常工作。偶尔会有只有空方括号 ([]) 的单元格。这些给出以下错误:
ValueError:以 10 为底的 int() 的无效文字:
如何删除数据中的所有方括号?
解决方案
尝试使用该ast
模块。
前任:
import pandas as pd
import ast
df = pd.DataFrame({"C": ["[]", "[1]"]})
print(df["C"].apply(ast.literal_eval).str[0].fillna(0).astype(int))
输出:
0 0
1 1
Name: C, dtype: int32
推荐阅读
- java - 在java netbeans中将一个组件放在另一个组件的面上
- protractor - 功能测试角度
- scala - 是否有编写隐藏其参与者系统实现的库的模式?
- android - ImageViews 的 ConstraintSet Animate 滑入
- regex - 如何编写匹配包含至少 4 个字母的字符串的正则表达式?
- android - 如何制作像ludo游戏一样的掷骰子动画?
- python - 矩阵向量乘法 Python3
- ios - Swift - 如何从 AppDelegate 引用子视图
- javascript - JSF 命令按钮在按下时刷新页面
- go - 我应该如何在golang中传递参数?