我的Python代码是这样的:
from google.cloud import bigquery
client = bigquery.Client(
project='my-project',
credentials=credentials,
)
sql = '''
CREATE OR REPLACE TABLE `my-project.my_dataset.test` AS
WITH some_table AS (
SELECT * FROM `my-project.my_dataset.table_1`
),
some_other_table AS (
SELECT id, some_column FROM my-project.my_dataset.table_2
)
SELECT * FROM some_table
LEFT JOIN some_other_table ON some_table.unique_id=some_other_table.id
'''
query_job = client.query(sql)
query_job.result()
Run Code Online (Sandbox Code Playgroud)
该查询在 Google BigQuery 控制台 UI 中有效,但在按上述方式从 Python 执行时无效。
我知道通过使用 CREATE OR REPLACE 这是一个“DDL”请求,我无法弄清楚如何从 Python 库执行该请求。您可以在 job.config 中设置目标表,这使您可以创建表,但随后您将无法获得 CREATE 或 REPLACE 功能。
感谢您的任何帮助。
我正在尝试StratifiedKFold创建训练/测试/验证分割,以便在非 sklearn 机器学习工作流程中使用。因此,DataFrame 需要被拆分并保持这种状态。
我尝试按照以下方式执行此操作,.values因为我正在传递 pandas DataFrames:
skf = StratifiedKFold(n_splits=3, shuffle=False)
skf.get_n_splits(X, y)
for train_index, test_index, valid_index in skf.split(X.values, y.values):
print("TRAIN:", train_index, "TEST:", test_index, "VALID:", valid_index)
X_train, X_test, X_valid = X.values[train_index], X.values[test_index], X.values[valid_index]
y_train, y_test, y_valid = y.values[train_index], y.values[test_index], y.values[valid_index]
Run Code Online (Sandbox Code Playgroud)
这失败了:
skf = StratifiedKFold(n_splits=3, shuffle=False)
skf.get_n_splits(X, y)
for train_index, test_index, valid_index in skf.split(X.values, y.values):
print("TRAIN:", train_index, "TEST:", test_index, "VALID:", valid_index)
X_train, X_test, X_valid = X.values[train_index], X.values[test_index], X.values[valid_index]
y_train, y_test, y_valid = y.values[train_index], y.values[test_index], y.values[valid_index]
Run Code Online (Sandbox Code Playgroud)
我通读了所有sklearn …
我正在尝试登录一个网站,单击一个按钮,然后抓取一些数据。该页面必须呈现,因为它全部使用 JavaScript(因此如果您 [例如] 在 Web 浏览器中查看源代码,则不可用)。
除了发送点击的时间外,一切正常。
当我尝试用requests_html包裹发送点击时,它似乎没有做任何事情,尽管没有抛出任何错误。我知道它在很大程度上依赖于pyppeteer,所以我一直试图在文档之间跳转,但整个异步编程的事情对我来说非常混乱。
import asyncio
import requests_html
# Login information
payload = {
'email': 'example@gmail.com',
'password': 'Password123'
}
# Start a session
with requests_html.HTMLSession() as s:
p = s.post('https://www.website.com/login', data=payload)
# Send the request now that we're logged in
r = s.get('https://www.website.com/data')
# Render the JavaScript page so it's accessible
r.html.render(keep_page=True, scrolldown=5, sleep=5)
async def click():
await r.html.page.click(
selector='button.showAll',
options={'delay':3, 'clickCount':1},
)
asyncio.get_event_loop().run_until_complete(click())
print(r.html.html)
Run Code Online (Sandbox Code Playgroud)
r.html.html包含来自 JS 的渲染 HTML,但不包含单击按钮。我已经确认按钮正在被点击,但我怀疑新页面没有以某种方式被“保存”,那r.html.html就是返回预先点击的页面。 …