第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

定位 dataframe-column-title 第一個字母發(fā)生變化的列

定位 dataframe-column-title 第一個字母發(fā)生變化的列

守著星空守著你 2022-06-22 17:10:53
我有一個熊貓數(shù)據(jù)框,其中列的名稱類似于: BT_XXX_XX.XX%_X.XX.XX ;EH_XXX_XX.XX%_XX.XX.XX ; C_XXX_XX.XX%_XX.XX.XX 其中 X 代表任何字母數(shù)字字符。他們完全雜亂無章。我想將 DataFrame 拆分為包含 BT_ 、EH_和 C_* 的不同 DataFrame(就像我在 bash 腳本中所做的那樣)。我按字母順序?qū)λ鼈冞M(jìn)行了排序,以便按順序排列 BT_ 、 EH_和 C_* 。但是,我不知道如何自動查找第一個字符串來創(chuàng)建一個全新的 DataFrame。目前我可以通過每次檢查每組列的位置來手動執(zhí)行此操作。#Sorting the dataframe by alphabetical orderdataset = dataset.reindex(sorted(dataset.columns), axis=1)#Splitting the dataframedf1 = dataset.iloc[:, :72]df2 = dataset.iloc[:, 72:148]df3 = dataset.iloc[148, 148:]我希望自動執(zhí)行此操作,以避免檢查 BT_* 列的完成位置以及 EH_* 或 C_* 的開始位置。
查看完整描述

2 回答

?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗 獲得超5個贊

您可以使用 str 的 startswith 函數(shù)來過濾列,如下例所示,無需在此之前對列進(jìn)行排序


df = pd.DataFrame(np.random.rand(10,10), columns=[f"{a}_{i}" for i in range(5) for a in "AB"])


df1= df.loc[:, df.columns.str.startswith("A_")]

df2 = df.loc[:, df.columns.str.startswith("B_")]


display(df1.head())

display(df2.head())


查看完整回答
反對 回復(fù) 2022-06-22
?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗 獲得超9個贊

您可以使用groupby在第一個之前拆分存根上的 DataFrame '_'。您可以將它們存儲在以存根作為鍵的字典中。


df = pd.DataFrame(columns=['BT_XXX_XX.XX%_X.XX.XX', 'BT_13131_1231231', 

                           'EH_XXX_XX.XX%_XX.XX.XX', 'C_XXX_XX.XX%_XX.XX.XX'])


dict(tuple(df.groupby(df.columns.str.split('_').str[0], axis=1)))

{'BT': Empty DataFrame

 Columns: [BT_XXX_XX.XX%_X.XX.XX, BT_13131_1231231]

 Index: [], 

'C': Empty DataFrame

 Columns: [C_XXX_XX.XX%_XX.XX.XX]

 Index: [], 

'EH': Empty DataFrame

 Columns: [EH_XXX_XX.XX%_XX.XX.XX]

 Index: []}


查看完整回答
反對 回復(fù) 2022-06-22
  • 2 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號