以下是一个示例代码,展示了如何按列标题前缀对列进行分组:
import pandas as pd
# 创建示例数据框
data = {
'A_Name': [1, 2, 3],
'A_Age': [20, 30, 40],
'B_Name': ['John', 'Alice', 'Bob'],
'B_Age': [25, 35, 45]
}
df = pd.DataFrame(data)
# 获取列标题前缀
prefixes = set([col.split('_')[0] for col in df.columns])
# 创建字典,用于存储分组后的列
grouped_cols = {}
for prefix in prefixes:
# 使用列表推导式获取以特定前缀开头的列
cols = [col for col in df.columns if col.startswith(prefix)]
grouped_cols[prefix] = cols
# 打印分组后的列
for prefix, cols in grouped_cols.items():
print(f"以'{prefix}'开头的列有:{cols}")
# 输出结果:
# 以'A'开头的列有:['A_Name', 'A_Age']
# 以'B'开头的列有:['B_Name', 'B_Age']
上述代码中,首先创建了一个示例数据框 df
,包含了以不同前缀开头的列。然后,通过遍历列标题,使用 split('_')
方法获取前缀,并将其存储在集合 prefixes
中。接下来,创建一个空字典 grouped_cols
,用于存储分组后的列。然后,使用列表推导式获取以特定前缀开头的列,并将其存储在字典中,键为前缀,值为对应的列列表。最后,通过遍历字典,打印出分组后的列。
注意:上述示例使用了 pandas 库进行数据处理和操作。
上一篇:按列标题排列数据框列
下一篇:按列标题TD对经典ASP进行排序