要求用户在csv文件中绘制两列而不输入整个列名?

时间:2016-10-03 01:16:57

标签: python pandas

我目前的代码:

onComplete

我的当前工作仅在用户输入整个列名称时才有效。但是,有些列很大。我想让我的用户更容易,这样如果他输入部分列名就可以了。或者,如果不知怎的话,我可以为每个列名分配一个数字,而无需手动浏览每一列并指定一个数字。然后我可以向用户显示一个列表,并输入他想要绘制的数字。

1 个答案:

答案 0 :(得分:0)

一种方法是在大熊猫中使用过滤器。

df.filter(regex=(yaxis))

它将显示与yaxis

的子字符串匹配的所有列

这是一个例子。

A = { 'Name': [ 'John', 'Andrew', 'Smith'] , 'Age' : [20,23,42]}

A
Out[19]: {'Age': [20, 23, 42], 'Name': ['John', 'Andrew', 'Smith']}

df = pd.DataFrame(A)

df
Out[21]: 
   Age    Name
0   20    John
1   23  Andrew
2   42   Smith

df.filter(regex=('Na'))
Out[22]: 
     Name
0    John
1  Andrew
2   Smith

df.filter(regex=('e'))
Out[23]: 
   Age    Name
0   20    John
1   23  Andrew
2   42   Smith