我有一個熊貓的數據集,名爲「DF」。執行一個SQL查詢在大熊貓數據集
我怎麼可以這樣做以下;
df.query("select * from df")
謝謝。
對於那些誰知道R,有一個叫sqldf在那裏你可以在R中進行SQL代碼庫,我的問題是,基本上,是有一些像sqldf庫在Python
我有一個熊貓的數據集,名爲「DF」。執行一個SQL查詢在大熊貓數據集
我怎麼可以這樣做以下;
df.query("select * from df")
謝謝。
對於那些誰知道R,有一個叫sqldf在那裏你可以在R中進行SQL代碼庫,我的問題是,基本上,是有一些像sqldf庫在Python
這不是pandas.query
應該做的,你可以看一下包pandasql
(在讀同樣喜歡sqldf
)
import pandas as pd
import pandasql as ps
df = pd.DataFrame([[1234, 'Customer A', '123 Street', np.nan],
[1234, 'Customer A', np.nan, '333 Street'],
[1233, 'Customer B', '444 Street', '333 Street'],
[1233, 'Customer B', '444 Street', '666 Street']], columns=
['ID', 'Customer', 'Billing Address', 'Shipping Address'])
q1 = """SELECT ID FROM df """
print(ps.sqldf(q1, locals()))
ID
0 1234
1 1234
2 1233
3 1233
您可以使用DataFrame.query(condition)
返回一個子集數據幀匹配condition
這樣的:
df = pd.DataFrame(np.arange(9).reshape(3,3), columns=list('ABC'))
df
A B C
0 0 1 2
1 3 4 5
2 6 7 8
df.query('C < 6')
A B C
0 0 1 2
1 3 4 5
df.query('2*B <= C')
A B C
0 0 1 2
df.query('A % 2 == 0')
A B C
0 0 1 2
2 6 7 8
這基本上是相同的效果作爲SQL語句,除了SELECT * FROM df WHERE
是隱含的。
您可以添加。 'df.eval' https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.eval.html – Wen
對不起,我們的想象力是窮人。請提供一些具體的數據和你真正想要的。 –
'print df'?大聲笑 –
你想要什麼是不可能的。數據框不是SQL數據庫,不能像一個查詢。 – Deb