Pandas csv 파일, 조건부 행 삭제

1294 단어
참고: Pandas는 어떻게 조건에 따라 줄을 삭제합니까?
직접 부호:
import pandas as pd
import glob

csv_path = glob.glob("*.csv")[0]
df = pd.read_csv(csv_path)
df.sort_values("model-index", inplace=True)

#             ,            ,      ,      
row_indexs = df[df["model-index"]%5000!=0].index
# row_indexs = df[(df["model-index"]%5000!=0) & (df["loss_pixel"]<0.5)].index
# row_indexs = df[(df["model-index"]%5000!=0) | (df["loss_pixel"]<0.5)].index

#     
df.drop(row_indexs,inplace=True)

print(df)

csv 샘플 파일:
my_data.csv
,model-index,loss_pixel,temp_loss,Global_loss
0,100000,0.7922,0.5662,0.7922
1,10000,0.7537,0.34,0.7537
2,1000,0.6327,0.4529,0.6327
3,11000,0.7621,0.3232,0.7621
4,12000,0.7677,0.3061,0.7677
5,13000,0.7746,0.2945,0.7746
6,14000,0.7819,0.2826,0.7819
7,15000,0.7864,0.2832,0.7864
8,16000,0.7904,0.2746,0.7904
9,17000,0.792,0.2802,0.792
10,18000,0.7955,0.2898,0.7955
11,19000,0.7985,0.2933,0.7985
12,20000,0.7963,0.2953,0.7963
13,2000,0.6529,0.4596,0.6529
14,21000,0.7992,0.2925,0.7992
15,22000,0.7972,0.3098,0.7972
16,23000,0.8017,0.3102,0.8017
17,24000,0.8007,0.3246,0.8007
18,25000,0.8006,0.3457,0.8006
19,26000,0.8014,0.3576,0.8014
20,27000,0.8046,0.3747,0.8046

좋은 웹페이지 즐겨찾기