Python 查找字符串中包含数字的列
我有一个DataFrame,它有带数字的列,但这些数字表示为字符串。我想自动找到这些列,而不告诉哪列应该是数字。我怎样才能在熊猫身上做到这一点呢?你可以利用熊猫的Python 查找字符串中包含数字的列,python,pandas,Python,Pandas,我有一个DataFrame,它有带数字的列,但这些数字表示为字符串。我想自动找到这些列,而不告诉哪列应该是数字。我怎样才能在熊猫身上做到这一点呢?你可以利用熊猫的包含 >>> df.columns[df.columns.str.contains('.*[0-9].*', regex=True)] 可以修改正则表达式以适应您要搜索的各种模式您可以使用pandas的contains >>> df.columns[df.columns.str.contains('
包含
>>> df.columns[df.columns.str.contains('.*[0-9].*', regex=True)]
可以修改正则表达式以适应您要搜索的各种模式您可以使用pandas的contains
>>> df.columns[df.columns.str.contains('.*[0-9].*', regex=True)]
可以修改正则表达式以适应您要搜索的各种模式您可以先使用pd进行筛选。然后使用将数值
与原始列组合:
df['COL_NAME'] = pd.to_numeric(df['COL_NAME'],errors='coerce').combine_first(df['COL_NAME'])
您可以先使用pd.to\u numeric
进行筛选,然后将\u first
与原始列组合:
df['COL_NAME'] = pd.to_numeric(df['COL_NAME'],errors='coerce').combine_first(df['COL_NAME'])
如果您只有字符串或数字,则可以执行df.apply(lambda col:col.astype(“int64”,errors=“ignore”))
。如果您只有字符串或数字,则可以执行df.apply(lambda col:col.astype(“int64”,errors=“ignore”)
。