我想在從數據幀pandas
一個MySQL表(mydata1
)來更新列rtrend
(getdata1
)柱rtrend
確保值對應於相應的日期(dt
)SQL鍊金更新多個WHERE條件
例如rtrend
值2016-08-09
from getdata1
df更新相應的MySQL mydata1
2016-08-09
rtrend
值。
另外指定一個特定的安全ID例如security_id == 'GS'
在這種情況下
updateexample = update(mydata1)
.where(mydata1.c.security_id=='GS', mydata1.c.dt==getdata1['dt'])
.values(rtrend=getdata1['rtrend'])
這將產生AttributeError: 'Series' object has no attribute 'translate'
請會有人用正確的方式去幫助呢?當前表和數據幀的
實施例:
大熊貓數據幀 'getdata1'
dt | security_id | rtrend
2016-08-09 | GS | 1
2016-08-10 | GS | -1
MySQL表 'mydata1'
dt | security_id | rtrend
2016-08-09 | GS | NULL
2016-08-10 | GS | NULL
瞭解批量更新; [示例](http://stackoverflow.com/a/25720751/223424)。這個想法是''bindparam'你想要更新的字段,並且將一個迭代器提供給'.execute'。可能'getdata1'的輸出可以直接使用。 (我希望你只是爲了創建一個例子而重命名了所有的對象,並且在你的真實代碼中使用了描述性的名字。) – 9000
謝謝Stefano。爲了示例的目的,只是重命名了對象 – Matthewj28