尋找一種方便的方法,可以將某個數據幀的某些行存儲到新的數據框中,前提是該行與某些外部條件匹配。從現有數據框中提取新數據幀的行python pandas
我有一個數據幀(df),其中包含我正在運行的內部數據庫記錄。有時查詢起作用,有時不起作用。我想讓商店出現導致異常的行。新的數據框應該與原始數據框具有相同的結構。我一整個早上都在測試不同的解決方案,但似乎沒有任何工作。我當前的代碼看起來是這樣的:
cols=['recordID','linkID','date']
dfNew = pd.DataFrame(columns = cols)
for index, row in df.iterrows():
try:
updateStatement = """
EXEC dbo.storedProc
@recordID = {0},
@linkID = {1},
@date = '{2}',
""".format(row.recordID, row.LinkID, row.date)
cursor.execute(updateStatement)
except Exception as e:
lst = ({'recordID':row.recordID,'linkID':row.linkID,'date':row.date})
dfexcept = dfexcept.append(lst, ignore_index=True)
在我目前的情況,這讓我有值的表(功能,如「打印()」和「LEN()」返回預期的結果),但具體功能到數據框(merge(),.head())不起作用,並且當被要求返回'dfexcept'時它說'空的DataFrame'。
所以,總之,我知道一些錯誤,但不是什麼。我試圖存儲引發異常的行,但我懷疑我構建DataFrame的方式給我的問題(我認爲構建字典列表很奇怪,但它使我接近期望的行爲並在其他地方提出) 。
如何將行存儲到新的DataFrame中(通常情況下)?先謝謝您的幫助!