我注意到如果我要键入df.column_name(),我可以使用IPython笔记本中的选项卡自动填充column_name.
现在,为列做某事的正确语法是df [‘column_name’],我无法自动完成(我假设因为它是一个字符串?).是否有任何其他符号或方式来简单地键入列名称.我正在寻找一种解决方案,允许我在此df [‘column_name’]中自动填充列名称.
解决方法:
我发现以下方法对我有用.它基本上创建了一个namedtuplele,它包含数据框中所有变量的名称作为字符串.
例如,考虑以下数据框,其中包含名为“variable_1”和“variable_2”的2个变量:
from collections import namedtuple
from pandas import DataFrame
import numpy as np
df = DataFrame({'variable_1':np.arange(5),'variable_2':np.arange(5)})
def ntuples():
list_of_names = df.columns.values
list_of_names_dict = {x:x for x in list_of_names}
Varnames = namedtuple('Varnames', list_of_names)
return Varnames(**list_of_names_dict)
var = ntuples()
在笔记本中,当我写var.然后按Tab键,将显示数据框df中所有变量的名称.编写var.variable_1相当于编写’variable_1′.所以以下方法可行:df [var.variable_1].
我定义一个函数的原因是你经常会在数据框中添加新的变量.为了将新变量更新到你的namedtuple“var”,只需再次调用该函数,ntuples(),你就可以了.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。