有沒有辦法將資料框中行的所有輸出值轉換為變數?
我的代碼是這樣的..
q1 = ps.sqldf("SELECT sdetframe.bill_no AS 'bill_number', sdetframe.ref_no AS 'ref_number', sdetframe.price_paid AS 'price_paid', sdetframe.raw_price AS 'raw_price', sdetframe.quanty AS 'quantity' FROM sdetframe WHERE ord_date = '" dfd "'")
q1df = DataFrame(q1)
q1data = q1df.at[0, 'bill_number']
print(q1df)
q1df 的輸出是這樣的...
bill_number ref_number price_paid raw_price quantity
0 197968 2 383.93 383.93 1.0
1 197968 2 383.93 383.93 1.0
2 197968 2 383.93 383.93 1.0
3 197969 1 357.14 357.14 1.0
4 197969 151 500.00 500.00 1.0
并且 q1data 的輸出僅為 197968。有沒有辦法可以獲取所有賬單編號值并將其放入變數中?
提前致謝。
我把它放到一個變數中,這樣我就可以將它呼叫到另一個資料框查詢中。下面是另一個代碼...
q2 = ps.sqldf("SELECT slsframe.pay_type AS 'pay_type', slsframe.received AS 'received' FROM slsframe WHERE bill_no = '" str(q1data) "'")
q2df = DataFrame(q2)
uj5u.com熱心網友回復:
如果您希望變數為 a Series:
S1 = q1df['bill_number']
輸出:
0 197968
1 197968
2 197968
3 197969
4 197969
如果您希望變數為 a List:
L1 = q1df['bill_number'].tolist()
輸出:
['197968', '197968', '197968', '197969', '197969']
uj5u.com熱心網友回復:
一種方法是使用tolist().
q1data= q1df.bill_number.tolist()
印刷:
[197968, 197968, 197968, 197969, 197969]
編輯 用戶希望根據問題更新將其用于另一個 SQL 查詢。
為此,轉換list為tuple并呼叫查詢。
q1data = tuple(q1data)
ps.sqldf("SELECT slsframe.pay_type AS 'pay_type', slsframe.received AS 'received' FROM slsframe WHERE bill_no IN %(q1data)")
如果您想從串列中洗掉重復項,請先轉換set為tuple.
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/383793.html
