pandas DataFrame select 具体数据

pandas DataFrame select specific data

我只想在 pandas 中的 select 第 5 行、第 10 行和第 14 行构建一个 for 循环。

enter image description here

实际文件包含数千行类似格式。请教我一个可以遍历整个文件的函数

非常感谢!!!

附上我目前的进度:

df = pd.read_csv('C:/Users/ymx19/Desktop/EHS/Location/results/Batch3_enterprise_with_missing_level/HOU.csv',header = 0)
df = df.dropna(axis ='columns',how ='all')
headers_list = [x for x in df.columns]
count = len(headers_list)
k = headers_list[-1]
maxlevel = df[df[k].notna()].drop_duplicates(subset= headers_list, keep="last")
while count > 3:
    k = headers_list[-1]
    headers_list.pop()
    z = headers_list[-1]
    lower_level = df.drop_duplicates(subset=headers_list, keep="last")
    lower_level = lower_level[lower_level[z].notna() & lower_level[k].isna()]
    maxlevel.append(lower_level)
    count -= 1 
maxlevel.to_csv('C:\Users\ymx19\Desktop/EHS\Location\results\test\HOU.csv', index = False)

问题:最后的 maxlevel.csv 没有包含来自 for 循环的任何附加值

通常,您可以使用 df.iloc[start_row:end_row, start_column:end_column] 进行切片,或者您可以 select 使用 df.iloc[[4,9,13]].

的特定行

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html

如果您想删除重复项,您可以使用:

df.drop_duplicates(subset=["Customer", "Level1", "Level2"], keep="last).

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.drop_duplicates.html