在Python中,可以通过以下方式从df.apply
调用中获取列名:
apply
函数的axis
参数设置为1,表示按行应用函数。name
属性获取每一行的列名。下面是一个示例代码:
import pandas as pd
# 创建一个示例DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)
# 定义一个函数,获取每一行的列名
def get_column_names(row):
column_names = row.index.tolist()
return column_names
# 使用apply函数按行应用自定义函数
column_names = df.apply(get_column_names, axis=1)
# 打印每一行的列名
for i, names in enumerate(column_names):
print(f"第{i+1}行的列名:{names}")
输出结果为:
第1行的列名:['A', 'B', 'C']
第2行的列名:['A', 'B', 'C']
第3行的列名:['A', 'B', 'C']
在这个例子中,我们创建了一个包含3列的DataFrame,并定义了一个名为get_column_names
的函数,该函数通过row.index.tolist()
获取每一行的列名,并返回一个包含列名的列表。然后,我们使用df.apply
函数按行应用这个自定义函数,并将结果存储在column_names
变量中。最后,我们遍历column_names
并打印每一行的列名。
请注意,这只是一个示例,实际应用中可以根据具体需求进行相应的修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云