2 回答

TA貢獻1863條經驗 獲得超2個贊
我們可以使用它np.where來查找起始索引。然后使用ilocwithnp._r來創建我們的切片:
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

TA貢獻1786條經驗 獲得超13個贊
步驟0:初始化一個空列表k
第 1 步:使用 df.shape[1] "START" 上的 for 循環遍歷所有列
步驟 2:迭代每列中的所有行我使用 df 執行此操作。形狀[0]
第三步:搜索“開始”
第 4 步:找到后存儲列號。和變量中的行號。
第 5 步:使用這些變量來索引所需的所有行和列。所以你使用 row+1 因為你想要 START 下面的所有內容和 col ,col+ 1 等等。
步驟 6:將數據幀添加到列表 k
最后一步:您可以看到 k[0] 給出了 start 的第一個實例,k[1] 給出了 start 的第二個實例,您可以將其用作更通用的代碼。如果您不希望所有實例在找到第一個數據幀后立即使用中斷。
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])
添加回答
舉報