我有一个数据框df
,其中一列count
包含字符串。这些字符串大多可以转换为整数(例如0006
),这就是我将用它们做的事情。但是count
中的一些条目是空格的空格。我怎么能
count
值为空字符串的所有行。如果有特别有效的方法,数据框非常大。
答案 0 :(得分:3)
似乎你想要两件不同的东西。但首先,转换列to numeric并强制错误:
df['count'] = pd.to_numeric(df['count'], errors='coerce')
删除行(使用subset
以避免从其他列中删除NaN
):
df.dropna(subset=['count'])
替换为默认值:
df['count'] = df['count'].fillna(default_value)
答案 1 :(得分:2)
在dropna
fillna
或pd.to_numeric(errosr='coerce')
考虑一个大熊猫系列s
s = pd.Series(np.random.choice(('0001', ''), 1000000), name='intish')
drop method 1 (不太健壮)
s[s != ''].astype(int)
drop method 2 (更强大)
pd.to_numeric(s, 'coerce').dropna().astype(int)
放弃时间
更强大的方法更快
填写方法1
pd.to_numeric(s, 'coerce').fillna(0).astype(int)
填写方法2
s.where(s.astype(bool), 0).astype(int)
填充时间
花费的时间与放弃
相同