如何删除Pandas中所有具有数据类型字符串的列



我正在做一个需要清理数据的项目。我想清除包含字符串的列。

我打算定义一个函数,然后使用它。我写了这个函数,但它不起作用
功能如下:-

def removeStringColumns(df):
for i in (df.columns):
if type(df[i][0]) == "str":
df = df.drop(df[i], axis=1)
return df

我是这样称呼它的。

data = pd.read_csv("./data.csv")
data.dropna()
data = data.replace(np.nan, 0)
data = removeStringColumns(data)

尝试select_dtypes并排除"对象":

filtered_df = df.select_dtypes(exclude='object')

或者只选择包含"数字"的数字列:

filtered_df = df.select_dtypes(include='number')

样品df:

import numpy as np
import pandas as pd
df = pd.DataFrame({'v1': np.arange(0, 10),
'v2': ['dog'] * 10,
'v3': ['cat'] * 10,
'v4': np.arange(10, 20)})
v1   v2   v3  v4
0   0  dog  cat  10
1   1  dog  cat  11
2   2  dog  cat  12
3   3  dog  cat  13
4   4  dog  cat  14
5   5  dog  cat  15
6   6  dog  cat  16
7   7  dog  cat  17
8   8  dog  cat  18
9   9  dog  cat  19

filtered_df:

v1  v4
0   0  10
1   1  11
2   2  12
3   3  13
4   4  14
5   5  15
6   6  16
7   7  17
8   8  18
9   9  19

相关内容

  • 没有找到相关文章

最新更新