【发布时间】:2017-03-04 00:41:58
【问题描述】:
在pandas.DataFrame df 中,假设我有一个列E。
如果E 包含整数或浮点数,我想将其替换为10^6 * E。
但是,如果 E 包含非数字字符或只是空格,我想用 np.nan 替换它。
有没有使用apply 或applymap 和lambda 函数的简单方法?
作为健全性检查,对数字行执行此操作:
df['E'] = df['E'] * 1000000
这在语法上是正确的,但没有改变任何东西:
df['E'].apply(lambda x: x*1000000 if isinstance(x, (int, float)) else np.nan)
也许我必须做一些选角,不确定。
【问题讨论】:
标签: python pandas dataframe lambda