【发布时间】:2018-02-26 05:50:40
【问题描述】:
这可能是我的一个基本误解,但我希望pandas.Series.str 将pandas.Series 值转换为字符串。
但是,当我执行以下操作时,系列中的数值将转换为np.nan:
df = pd.DataFrame({'a': ['foo ', 'bar', 42]})
df = df.apply(lambda x: x.str.strip() if x.dtype == 'object' else x)
print(df)
Out:
a
0 foo
1 bar
2 NaN
如果我首先将str 函数应用于每一列,数值将转换为字符串而不是np.nan:
df = pd.DataFrame({'a': ['foo ', 'bar', 42]})
df = df.apply(lambda x: x.apply(str) if x.dtype == 'object' else x)
df = df.apply(lambda x: x.str.strip() if x.dtype == 'object' else x)
print(df)
Out:
a
0 foo
1 bar
2 42
关于这个主题的文档相当少。我错过了什么?
【问题讨论】: