首页 > 解决方案 > Python:如果char是数字,则Lambda返回字符串

问题描述

我正在研究一个数据框。我使用 pd.read_csv 读取文件。我有一列是一个 ID。有些包含字母字符,有些是纯数字。因此,数字数据读取为数字。我想将它们转换为字符串,以便稍后我可以用真实姓名 df.replace 它们。

staff_df = pd.DataFrame([
    {'Name': 'Kelly', 'ID': 'ABC321'},
    {'Name': 'Sally', 'ID': 'XYZ123'},
    {'Name': 'James', 'ID': '123450'}
])

staff_df = staff_df.set_index('Name')

这是我现在的代码,但语法无效:

staff_df[1] = staff_df[1].apply(lambda x: str(x) if x.isdigit())

如果它的lambda会很好。:)

标签: pythonpandaslambda

解决方案


推荐阅读