1 回答

TA貢獻1111條經驗 獲得超0個贊
很可能有更有效的方法來解決這個問題,但下面是一種簡單的暴力方法。請注意,我將原始值存儲到 df org_df
test_values = org_df["Name"]
quarter_values = org_df.columns.drop(["Name", "MinRange", "MaxRange"])
new_data = []
for test in test_values:
min_value = org_df.loc[org_df["Name"]==test]["MinRange"].item()
max_value = org_df.loc[org_df["Name"]==test]["MaxRange"].item()
for quarter in quarter_values:
if (org_df.loc[org_df["Name"]==test][quarter].item() < min_value) or (org_df.loc[org_df["Name"]==test][quarter].item() > max_value):
new_data.append([
quarter,
test,
min_value,
max_value,
org_df.loc[org_df["Name"]==test][quarter].item()
])
new_df = pd.DataFrame(new_data, columns=["Quarter", "Name", "MinRange", "MaxRange", "Value"])
添加回答
舉報