如何在Python Pandas中结合列表与单独列名选择DataFrame列?
正确的Pandas列选择方式
你触发TypeError是因为Pandas的DataFrame索引器[]不接受(列表, 单个列名)这种元组格式作为键。要同时选择列表里的列加上C列,得把所有要选的列名合并成一个单一列表,再传给索引器。
方法1:直接合并列表
这是最简洁的方式,把原列表和包含'C'的列表拼接:
lst = ['A','B'] selected_df = df[lst + ['C']]
方法2:使用.loc索引器(更清晰的显式选择)
如果需要明确指定行/列范围,用.loc语法,行选:表示全部行,列传入合并后的列表:
selected_df = df.loc[:, lst + ['C']]
方法3:分步选择后合并(适合复杂场景)
如果后续需要单独处理不同列组,可以先选列表内的列,再合并C列:
df_lst = df[lst] selected_df = pd.concat([df_lst, df['C']], axis=1)
以上三种方法都能正确选出A、B、C三列,不会触发错误。
内容的提问来源于stack exchange,提问作者Pau Andrés
相关产品推荐
相关产品推荐

