在深入研究场景之前,让我们导入 pandas 库并创建一个名为 df 的数据框,其中包含以下列名称:
week_one_attendance
week_two_attendance
week_three_attendance
week_four_attendance
代码:
- import pandas as pd
- df = pd.DataFrame (data = [[0.10,0.20,0.70,0.80],[0.80,0.50,0.40,0.20],[0.50,0.10,0.20,0.10],[0.30,0.45,0.97,0.65]],columns = ["week_one_attendance","week_two_attendance","week_three_attendance","week_four_attendance"])
- df
方案 1
在下面的代码中,for 循环用于迭代数据框的所有列,在每次迭代中,使用rename方法 将每列转换为大写
- for i in df.columns:
- df.rename(columns = {i:i.upper()},inplace = True)
- df.columns
情景2
在下面的代码中,我们将声明一个名为columnnames的空字典,然后将另一个名为count 的变量声明为 0
然后,我们将使用for 循环遍历 Data Frame 的所有列,在每次迭代中,count 变量将递增 1。然后将在fstring中使用递增的值来生成新的列名。在每次迭代中,原始列名和新列名将作为键值对添加到字典中。
在使用原始列名和新列名构造字典列名之后,我们将把字典传递给重命名 方法
- columnnames = {}
- count = 0
- for i in df.columns:
- count += 1
- columnnames[i] = f"WEEK_{count}_ATTENDANCE"
- columnnames
- df.rename(columns = columnnames ,inplace = True)
- df.columns
方案 3
在下面的代码中,我们将声明一个名为columnnames的空字典
然后,我们将使用for 循环 遍历 Data Frame 的所有列,其中在每次迭代中,第一次出现的下划线将被无空格替换。在每次迭代中,原始列名和新列名将作为键值对添加到字典中。
在使用原始列名和新列名构造字典列名之后,我们将把字典传递给rename 方法
代码:
- columnnames = {}
- for i in df.columns:
- x = i.replace('_','',1)
- columnnames[i] = x
- columnnames
- df.rename(columns = columnnames ,inplace = True)
- df.columns
方案 4
在下面的代码中,我们将声明一个名为columnnames的空字典,然后将另一个名为count 的变量声明为 0
然后,我们将使用for 循环遍历 Data Frame 的所有列,其中在每次迭代中,count 变量将递增 1。然后将在fstring中使用递增的值来生成具有位置的新列名第一个词和最后一个词交换了。在每次迭代中,原始列名和新列名将作为键值对添加到字典中。
在使用原始列名和新列名构造字典列名之后,我们将把字典传递给rename 方法
- columnnames = {}
- count = 0
- for i in df.columns:
- count += 1
- columnnames[i] = f"ATTENDANCE_WEEK{count}"
- columnnames
- df.rename(columns = columnnames ,inplace = True)
- df.columns
结论
通过使用 for 循环和 Python 字符串可用的不同方法,我们能够同时更新数据帧的所有列的值,而不是手动更新每个列名,从而节省大量时间
相关帖子DA内容精选
|


雷达卡



京公网安备 11010802022788号







