在将数字格式应用于数据框中的列时遇到问题,因为这些列包含非数字值(以''作为值)。我试图将这些列转换为数字,然后将格式应用于这些列并遇到一些错误。
因此,有一种方法可以将列转换为数字并应用格式而忽略非数字值(在这种情况下,仅将''作为值)
这是我尝试并遇到错误的代码。任何建议
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)
答案 0 :(得分:0)
您可以尝试使用简单的try
和except
块来相应地格式化数据。
def format(x):
try:
return "{:,}".format(float(x))
except:
return x
df_both['col1'] = df_both['col1'].apply(lambda x: format(x))