,可以通过以下步骤实现:
以下是一个示例代码,演示如何在dataframe中查找具有百分比值的列,并将这些值转换为数字并更改列名:
import pandas as pd
import re
# 示例dataframe
df = pd.DataFrame({
'A': ['10%', '20%', '30%'],
'B': ['40%', '50%', '60%'],
'C': ['70', '80', '90']
})
# 遍历所有列
for column in df.columns:
# 判断列的值是否为百分比形式
if all(re.match(r'^\d+%$', value) for value in df[column]):
# 将百分比值转换为数字
df[column] = df[column].str.rstrip('%').astype(float) / 100
# 更改列名
new_column_name = column + '_percentage'
df.rename(columns={column: new_column_name}, inplace=True)
print(df)
运行以上代码,输出结果如下:
A_percentage B_percentage C
0 0.10 0.40 70
1 0.20 0.50 80
2 0.30 0.60 90
在这个示例中,我们遍历了dataframe的所有列,判断每一列的值是否为百分比形式。对于列'A'和列'B',它们的值都是百分比形式,因此我们将这些值转换为对应的小数值,并将列名更改为'A_percentage'和'B_percentage'。列'C'的值不是百分比形式,因此没有进行处理。最后,输出处理后的dataframe。
领取专属 10元无门槛券
手把手带您无忧上云