【发布时间】:2026-01-04 05:05:01
【问题描述】:
我有两个文件。一个包含元数据/标签,另一个包含具有与元数据文件对应的标签的实际计数数据。 我浏览了元数据文件并使用 Pandas 切出了我想要的标签并将其导出到一个列表中。
如何获取该标签列表并使用它按列标签对 Pandas DataFrame 进行切片?
我对行标签做了类似的事情,但那是使用 Pandas .isin() 函数,它不能用于列。
编辑: 当我根据是否在列表中找到行的名称来分割行时,我使用类似于此的单行
row_list = ['row_name1', 'row_name2', row_name3']
sliced_rows = df[df['row_names'].isin(row_list)]
df =
row_names 1 2 3 4
row_name1 0 2 0 6
row_name5 0 0 1 0
row_name2 0 0 0 0
row_name17 0 5 6 5
所以在这里我会得到row_names1 & rownames_2
我正在尝试做同样的事情,但是当 row_names 标记列而不是名称时。
所以矩阵看起来像这样。
label column_name1 column_name2 column_name3 column_name4
1 0 2 0 6
2 0 0 1 0
3 0 0 0 0
4 0 5 6 5`
我会根据该列的名称是否在整个数据框的列表中来按列进行选择。
【问题讨论】:
-
抱歉,您能否发布一个实际示例,您是否要求构建一个列列表,以便您可以从 df 中仅选择这些列?类似
col_list = [col for col in df if col in other_col_list]?