向基于python中列数据类型显示布尔值的数据框添加列

问题描述 投票:0回答:1

我正在根据要迭代的当前列是字母数字,字母还是数字的确定,将数据列添加为布尔值。不幸的是,每个列都为每个布尔测试给出False。目的是对于给定的列,如何添加另一个列以显示给定列中的行是否为字母数字?我不想遍历该列中的每一行,因为这非常耗时。我需要这样做,因为在某些情况下,我不知道给定列中将包含哪种数据类型。

def add_numeric_alpha_alphanum_tests(dataframe, dataframe_column_names):
    for column_name in dataframe_column_names:
        column_name_is_alphanumeric = column_name + "_is_alphanumeric"
        data_to_test = str(dataframe[column_name].values)
        dataframe[column_name_is_alphanumeric] = np.where(data_to_test.isalnum(), True, False)
        column_name_is_alpha = column_name + "_is_alpha"
        dataframe[column_name_is_alpha] = np.where(data_to_test.isalpha(), True, False)
        column_name_is_digit = column_name + "_is_digit"
        dataframe[column_name_is_digit] = np.where(data_to_test.isdigit(), True, False)
    return dataframe
python pandas dataframe alphanumeric non-alphanumeric
1个回答
0
投票

您可以在Pandas中使用apply功能,从而享受效率,例如:

apply
© www.soinside.com 2019 - 2024. All rights reserved.