将数字格式应用于包含空格作为值的熊猫数据框中的列

时间:2018-07-15 13:15:41

标签: python pandas dataframe

在将数字格式应用于数据框中的列时遇到问题,因为这些列包含非数字值(以''作为值)。我试图将这些列转换为数字,然后将格式应用于这些列并遇到一些错误。

因此,有一种方法可以将列转换为数字并应用格式而忽略非数字值(在这种情况下,仅将''作为值)

这是我尝试并遇到错误的代码。任何建议

pd.to_numeric(df_both['col1','col2'],errors='ignore')
df_both[['col1','col2']] = df_both[['col1','col2']].replace({'nan':''},regex=True)
df_both['col1'] = df_both.apply(lambda x: "{:,}".format(x['col1']),axis=1)
df_both['col2'] = df_both.apply(lambda x: "{:,}".format(x['col2']),axis=1)

1 个答案:

答案 0 :(得分:0)

您可以尝试使用简单的tryexcept块来相应地格式化数据。

def format(x):
    try:
        return "{:,}".format(float(x))
    except:
        return x

df_both['col1'] = df_both['col1'].apply(lambda x: format(x))