读取Excel文件时:IndexError:单位置索引超出范围
我想在一个Excel文件中,根据病人编号、消息类型和测试级别来筛选数据,然后计算“RPS”这一列中每个单元格列表的平均值。不过,我一直遇到错误。
import pandas as pd
# Verilerinizi içeren Excel dosyasını okuyun
df = pd.read_excel("C:/Users/bastu/busra_hoca/patient3-4/dot2.xlsx")
hasta_listesi = [1, 2, 3, 4, 5, 6]
tip_listesi = ["C1", "C2", "C3", "C4"]
test_levels = [0, 1, 2, 3, "n1", "n2"]
result = []
for hasta in hasta_listesi:
for tip in tip_listesi:
for test_level in test_levels:
# Filtreleme işlemi
filtre = (df['Patient'] == hasta) & (df['Message'] == tip) & (df['Test Levet'] == test_level)
# filtre = (df['Hasta'] == hasta) & (df['Mesaj'] == tip) & (df['Test Level'] == test_level)
filtrelenmis_veri = df[filtre]
index_liste = filtrelenmis_veri.index.tolist()
toplam = 0
for i in list(range(len(index_liste))):
toplam += filtrelenmis_veri["RPS"].iloc[index_liste[i]]
result.append({"Hasta": hasta,
"Elektrot": tip,
"Test Seviyesi": test_level,
"Toplam": toplam,
"İndex Len": len(index_liste)})
1 个回答
1
你能试试这个吗
import pandas as pd
# Read the Excel file containing your data
df = pd.read_excel("C:/Users/bastu/busra_hoca/patient3-4/dot2.xlsx")
hasta_listesi = [1, 2, 3, 4, 5, 6]
tip_listesi = ["C1", "C2", "C3", "C4"]
test_levels = [0, 1, 2, 3, "n1", "n2"]
result = []
for hasta in hasta_listesi:
for tip in tip_listesi:
for test_level in test_levels:
# Filtering
filter_condition = (df['Patient'] == hasta) & (df['Message'] == tip) & (df['Test Levet'] == test_level)
filtered_data = df[filter_condition]
# Calculate mean of 'RPS' column
mean_rps = filtered_data["RPS"].mean()
result.append({"Patient": hasta,
"Message": tip,
"Test Level": test_level,
"Mean RPS": mean_rps})
# Create a DataFrame from the result list
result_df = pd.DataFrame(result)
print(result_df)