簡體   English   中英

Python如何調用數據幀的兩列中的任何一列

[英]Python how to call either of the two columns of a dataframe

我有很多列的大數據框。 我想隨時訪問這兩列中的任何一個。

df.columns = ['c1','c1T1','c2','c2T1',...........,'c10','c10T1',
'c30','c30T2','c40','c40T2',...........,'c60','c60T2'] 

我知道列名是'c1',...,'c4' 還有與這些相關聯的另一列。 我調用第二列的邏輯是'c1'+['T1' or 'T2'] 我知道只有一列'c1T1' ,而不是'c1T2' 那么,如何在df[]搜索這樣的組合。

我現在的代碼:

   df[['c1','c1'+'T1'|.'T2']]

我現在的輸出:

SyntaxError: invalid syntax 

如何調用與第一列關聯的第二列?

您可以使用列表自動創建您想要的列名稱,然后使用該列表查找您需要的列。 代碼如下。

您可以更改列表prefixespostfixes以獲得所需的列。

prefixes = ['c1']
postfixes = ['', 'T1','T2']
colsToCheck = [prefix+postfix for prefix in prefixes for postfix in postfixes]
cols = [col for col in colsToCheck if col in df.columns]  
df[cols]

由於“。”,以下給出了語法錯誤 ['c1','c1'+'T1'|.'T2'] 但即使沒有,你也不能使用 | 與字符串。 我解決這個問題的方法是生成您可能想要檢查的列名列表(在本例中為 ['c1','c1T1','c1T2'])並使用列表理解來獲取元素在 df.columns 中。

cols_to_check = ['c1','c1T1','c1T2']  
select_cols = [col for col in cols_to_check if col in df.columns]  
df[select_cols]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM