在R中,当您需要根据列名检索列索引时,可以执行此操作
idx <- which(names(my_data)==my_colum_name)
有没有办法对熊猫数据框做同样的事情?
当然可以使用.get_loc():
.get_loc()
In [45]: df = DataFrame({"pear": [1,2,3], "apple": [2,3,4], "orange": [3,4,5]}) In [46]: df.columns Out[46]: Index([apple, orange, pear], dtype=object) In [47]: df.columns.get_loc("pear") Out[47]: 2
虽然老实说,我自己通常不需要这个。通常,通过名称进行访问可以实现我想要的功能(df["pear"],df[["apple", "orange"]]或也许df.columns.isin(["orange", "pear"])),尽管我可以肯定地看到一些情况下需要索引号的情况。
df["pear"]
df[["apple", "orange"]]
df.columns.isin(["orange", "pear"])