我是 Python 新手,我需要在滿足條件后獲取帶有附加值(df_ap)的新 DataFrame,這可能嗎,或者我應該嘗試一種全新的方法。
這是我當前的代碼:
df = pd.DataFrame(columns=["C1", "C2", "C3"])
Var1 = input("Input ")
if Var1 == 1:
df_ap = df.append({"C1": 100, "C2": 200, "C3":300}, ignore_index=True)
print(df)
print(df_ap)
輸出:
Input 1
Empty DataFrame
Columns: [C1, C2, C3]
Index: []
NameError: name 'df_ap' is not defined
uj5u.com熱心網友回復:
Var_1是字串而不是整數,因此您必須將其轉換為 int 或將其與字串進行比較:
Var1 = int(input("Input "))
if Var1 == 1:
或者:
Var1 = input("Input ")
if Var1 == "1":
uj5u.com熱心網友回復:
嘗試在 if 之外創建定義。
df = pd.DataFrame(columns=["C1", "C2", "C3"])
Var1 = input("Input ")
df_ap = None
if Var1 == 1:
df_ap = df.append({"C1": 100, "C2": 200, "C3":300}, ignore_index=True)
print(df)
print(df_ap)
uj5u.com熱心網友回復:
首先,為了使您的條件正常作業,您需要確保您的條件input已轉換為int之前的if條件。由于您df_ap在條件之外使用,因此您還必須在條件執行之前if定義它。if
import pandas as pd
df = pd.DataFrame(columns=["C1", "C2", "C3"])
df_ap = pd.DataFrame()
Var1 = int(input("Input "))
if Var1 == 1:
df_ap = df.append({"C1": 100, "C2": 200, "C3":300}, ignore_index=True)
print(df)
print(df_ap)
另一種方式,您可以簡單地重用df,因為它已在if條件之外定義:
import pandas as pd
df = pd.DataFrame(columns=["C1", "C2", "C3"])
Var1 = int(input("Input "))
if Var1 == 1:
df = df.append({"C1": 100, "C2": 200, "C3":300}, ignore_index=True)
print(df)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/472472.html
