我不是一個好的 python 編碼器(初學者)所以如果代碼不符合 pythonista 的要求,我深表歉意!有點奇怪的情況,我無法弄清楚。我一直在絞盡腦汁試圖解決它,但似乎無法解決。我確信這是我忽略的一個非常簡單的修復......
“allData”資料框從 SQL 資料庫中提取資料。從中我提取了一些記錄并附加到“managerListImput”空資料框。我正在迭代指定的許多記錄,并在追加之前查找每個記錄的詳細資訊。它適用于 Jupyter 筆記,我得到了所需的輸出,但是當我在 IDLE 或 Visual Studio Code 中運行它時,我得到一個空的資料幀。非常令人沮喪。希望有人能解決它......提前致謝
這是代碼:
def selected():
managerReturns = pd.DataFrame(columns = ['hName','Returns'])
managerCount = int(input("how many MANAGERS do you want to use? Enter a quantity: "))
i=0
while i < managerCount:
managerListData = allData[['hID','hName','Min_Date','Max_Date']]
managerListFind = input('Enter partial or whole MANAGER name: ')
managerList = managerListData[managerListData['hName'].str.contains(managerListFind, case=False)]
managerList = managerList.drop_duplicates(subset=['hID'])
managerList = managerList.set_index('hID')
print(managerList)
managerID = input('Pick/Type in an MANAGER list ID ("hID") From the List Above: ')
managerName = managerListData.query('hID ==' str(managerID))['hName']
managerName = managerName.iloc[0] # otherwise you get a list of the same names
manager = allData.query('hID == @managerID')
manager = manager.filter(['hName','Returns'])
managerReturns = managerReturns.append(manager)
i = 1
managerReturns = managerReturns.groupby([managerReturns.index, 'hName'])['Returns'].mean().unstack()
return managerReturns
test31 = selected()
print(test31)
以 IDLE 或 Visual Studio Code 輸出:
Empty DataFrame
Columns: []
Index: []
輸出(在 Jupyter Notes 中)即我想要的輸出!::
Date Manager1 Manager2
4/1/2010 NaN 0.1459
5/1/2010 NaN 0.0049
6/1/2010 NaN -0.0206
7/1/2010 NaN -0.0416
8/1/2010 NaN 0.4537
... ... ...
7/1/2021 0.0056 0.0047
8/1/2021 0.0185 -0.0086
9/1/2021 -0.0269 0.0207
10/1/2021 0.0261 -0.0080
11/1/2021 -0.0256 0.0228
uj5u.com熱心網友回復:
解決方案很簡單:managerID必須變成整數,所以我添加了這個:
managerID = int(managerID)
我猜 Jupyter Notes 足夠聰明,可以將其識別為數字。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/375366.html
標籤:sql 熊猫 数据框 视觉工作室 jupyter-笔记本
