Python 根据列名值在pandas中子集数据帧
我在熊猫中有一个数据框,需要拆分。它比这个大得多,但这里有一个例子:Python 根据列名值在pandas中子集数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我在熊猫中有一个数据框,需要拆分。它比这个大得多,但这里有一个例子: ID A B a 0 0 b 1 1 c 2 2 我有一个列表:keep_list=['ID','a'] 另一个列表:recode\u list=['ID','B'] 我希望通过列标题将数据框拆分为两个数据框:一个数据框包含列标题与keep_列表匹配的列和值,另一个数据框包含与recode_等位基因列表匹配的列标题和数据。到目前为止,我尝试的每一个代码都不起作用,因为它试图将值与列表进行比较,而不
ID A B
a 0 0
b 1 1
c 2 2
我有一个列表:keep_list=['ID','a']
另一个列表:recode\u list=['ID','B']
我希望通过列标题将数据框拆分为两个数据框:一个数据框包含列标题与keep_列表匹配的列和值,另一个数据框包含与recode_等位基因列表匹配的列标题和数据。到目前为止,我尝试的每一个代码都不起作用,因为它试图将值与列表进行比较,而不是与列名进行比较
非常感谢您的帮助 假设数据帧的名称为
df
:
你可以简单地做
df[保留列表]
和df[重新编码列表]
以获得您想要的内容。您可以通过以下方式完成此操作:
df1 = df[df.columns.intersection(keep_list)]
df2 = df[df.columns.intersection(recode_list)]