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