我将csv文件导入到一个名为df。
的数据框中df = pd.read_csv('csvfile.csv')
df有8列,它们有名称A,B,C,D,E,F,G,H。然后我需要得到列B和列E:H,以及这些列的所有行。
我用了
{E}要将E列添加到H.但是还无法弄清楚如何获取B列,仍然在代码中使用df1 = df.loc[:,"E":"H"]
。我想保留"E":"H"
的原因是因为E,F,G,H的列名很长,我试图避免键入所有四个名字。
谢谢。
答案 0 :(得分:1)
df.loc[:, list(df.columns[1]) + list(df.columns[4:])]
如果要自动查找列,可以使用
column_list = list(df.columns)
B_index = column_list.index('B')
E_index = column_list.index('E')
H_index = column_list.index('H')
df.loc[:, list(df.columns[B_index]) + list(df.columns[E_index:H_index])]
这是四行,但代码非常易读。
或者,如果您事先知道列的确切名称,最好将这些名称存储在列表中,然后使用
column_names = [
'B',
'E',
'F',
'G',
'H'
]
df.loc[:, column_names]