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

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

通過索引符號而不是列名稱選擇數(shù)據(jù)框中的列

通過索引符號而不是列名稱選擇數(shù)據(jù)框中的列

慕村9548890 2023-09-19 14:37:16
我想使用條目“開始”df_D從給定的輸入創(chuàng)建一個df作為行索引和列索引的參考。我不想使用列名A,B, C等。相反,我希望使用索引,因為序列始終是“START”的前 3 列和最后 3 列,即類似n,n+1,n+2, n+5,n+6,n+7輸入:df = pd.DataFrame({'A':['jfgh',23,'Ndfg',34,0,56],'B':['jfgh',23,'START',34,0,56], 'C':['cvb',7,'dsfgA',65,47,3],'D':['rrb',7,'gfd',3,0,7],'E':['dfg',7,'gfd',5,12,1],'F':['dfg',7,'sdfA',5,0,4],'G':['dfg',7,'sdA',5,8,9],'H':['dfg',7,'gfA',5,0,8],'I':['dfg',7,'sdfA',5,7,23]})輸出:      A      B      C    D    E     F    G    H     I0  jfgh   jfgh    cvb  rrb  dfg   dfg  dfg  dfg   dfg1    23     23      7    7    7     7    7    7     72  Ndfg  START  dsfgA  gfd  gfd  sdfA  sdA  gfA  sdfA3    34     34     65    3    5     5    5    5     54     0      0     47    0   12     0    8    0     75    56     56      3    7    1     4    9    8    23所需輸出: df_D 手動創(chuàng)建    B   C  D  G  H   I0   0  47  0  8  0   71  56   3  7  9  8  23嘗試1:for index in range(len(df)):    if str(df.loc[index,'C']).startswith('START'):        df_D = df.iloc[index+1:len(df), [1,2,3,6,7,8]]        break 結(jié)果輸出:Empty DataFrameColumns: [B, C, D, G, H, I]Index: []我哪里出錯了?
查看完整描述

2 回答

?
小唯快跑啊

TA貢獻1863條經(jīng)驗 獲得超2個贊

我們可以使用它np.where來查找起始索引。然后使用ilocwithnp._r來創(chuàng)建我們的切片:


start_col = np.where(df.eq("START"))[1][0]

cols = df.shape[1]

col_select = np.r_[start_col: start_col+3, cols-3: cols]


df.iloc[-2:, col_select]

    B   C  D  G  H   I

4   0  47  0  8  0   7

5  56   3  7  9  8  23


查看完整回答
反對 回復(fù) 2023-09-19
?
開滿天機

TA貢獻1786條經(jīng)驗 獲得超13個贊

步驟0:初始化一個空列表k

第 1 步:使用 df.shape[1] "START" 上的 for 循環(huán)遍歷所有列

步驟 2:迭代每列中的所有行我使用 df 執(zhí)行此操作。形狀[0]

第三步:搜索“開始”

第 4 步:找到后存儲列號。和變量中的行號。

第 5 步:使用這些變量來索引所需的所有行和列。所以你使用 row+1 因為你想要 START 下面的所有內(nèi)容和 col ,col+ 1 等等。

步驟 6:將數(shù)據(jù)幀添加到列表 k

最后一步:您可以看到 k[0] 給出了 start 的第一個實例,k[1] 給出了 start 的第二個實例,您可以將其用作更通用的代碼。如果您不希望所有實例在找到第一個數(shù)據(jù)幀后立即使用中斷。

k=[]

for i in range(df.shape[0]):

    for y in range(df.shape[0]):

        if df.iloc[y,i] == 'START':

            col = i

            row = y

            k.append(df.iloc[row+1:,[col,col+1,col+2,-3,-2,-1]])    

print("first START")

print(k[0])

print("\n Second START")

print(k[1])


查看完整回答
反對 回復(fù) 2023-09-19
  • 2 回答
  • 0 關(guān)注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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