Python 3.x 如何显示特定列';使用Python中的panda包创建文件头名称

Python 3.x 如何显示特定列';使用Python中的panda包创建文件头名称,python-3.x,pandas,Python 3.x,Pandas,我只想显示列的标题名。我尝试使用.columns,但它列出了所有数据框的列标题,我只想打印我要传递的两列的标题 def test(x, y): # x and y are specific columns within a data frame that is being passed. print(x.columns, y.columns) # Runs an error of course, but I want to know how I would display just di

我只想显示列的标题名。我尝试使用.columns,但它列出了所有数据框的列标题,我只想打印我要传递的两列的标题

def test(x, y): # x and y are specific columns within a data frame that is being passed.

   print(x.columns, y.columns) # Runs an error of course, but I want to know how I would display just display their header names.             
所以我用panda创建了一个.csv的数据框,可能是这样的:

    num1   num2   num3
0    1      2      3
1    4      5      6
2    7      8      9
假设我将列'num1'和'num3'作为参数传递给函数测试,作为x和y。我想打印名称num1和num3,因为它们是标题名称。我该怎么做呢

更新:好的,我用print()得到了要显示的名称。但是,我想实际的错误是在执行plt.xlabel(x.name)和plt.ylabel(y.name)时。它给出错误:“str”对象没有属性“pop”。我以为print()和plt.xlabel()或plt.ylabel()会被同等对待,我表示歉意


更新2:解决了!谢谢大家

给定以下数据帧:

d = {'id': ['x1', 'x2'],'t1': [3,11]}
df = pd.DataFrame(data=d)


def test(x, y): # x and y are specific columns within a data frame that is being passed.
   print(x.name, y.name)
n1 = df['id']
n2 = df['t1']

test(n1,n2)

#output
id t1
df = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], columns=['num1', 'num2', 'num3'])
请尝试以下代码:

def test(x, y):
    print(x.name, y.name)

test(x=df['num1'], y=df['num3'])
给出:

# output: num1 num3
注意: x和y是熊猫系列,要获取系列的名称(与df列的名称相对应),必须使用属性
。name

如果我正确理解您的第二个问题,则此代码适用于您:

cols = df.columns

for x, y in zip(cols, cols[1:]):
    test(df[x],df[y])
并给出:

num1 num2
num2 num3

举个例子可以帮助人们理解你想要实现的目标。你好!更新以添加示例。如果您已经知道名称,为什么不直接打印它们?在您的示例中,您说您输入'num1'和'num3'来打印'num1'和'num3'。不需要查找您已经有了所需的内容。好了,现在您的问题更清楚了。@JoeErnst,因为我有一个很大的列/行列表,并且我想打印多个图形。我想自动为我的图形添加标签,而不必不断更改名称,只需让它为我放置。得到错误:“str”对象没有属性“pop”@researchnewbie你是如何调用函数的?所以我所做的几乎是说n1=df['num1']和n2=df['num2'],然后通过测试调用函数(n1,n2)。我的图表正确地显示了数据,而不是我想用作绘图标签的名称。@researchnewbie我已经编辑了我的答案。你可以显示更多的代码。好的,那我该怎么做呢?我真的不知道要从我的图中修改什么才能做到这一点,因为我不能真正重新创建数据=d部分。它有超过100k行和75+列对于我的数据,我刚刚输入了.csv并使用了read_csv,它在这里为我组织了数据。它正确地打印了图形,并且正确地识别了每个标题,但它不起作用。命名它在代码中的作用。我在将其作为参数时必须这样定义吗?我之前是这样做的:x=df['num1],y=df['num2']然后测试(x,y),但仍然不起作用。@Research新手我更新了答案,让我知道你的意思是不是我更新了答案,以显示更多关于发生了什么的信息。