J'ai un ensemble de données pandas, appelé "df").
Comment puis-je faire quelque chose comme ci-dessous;
df.query("select * from df")
Merci.
Pour ceux qui connaissent R, il existe une bibliothèque appelée sqldf dans laquelle vous pouvez exécuter du code SQL dans R; ma question est fondamentale: existe-t-il une bibliothèque comme sqldf en python?
Ce n'est pas pandas.query
supposé faire, vous pouvez regarder le paquet pandasql
(comme sqldf
dans R)
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
Vous pouvez utiliser DataFrame.query(condition)
pour renvoyer un sous-ensemble du cadre de données correspondant à condition
comme ceci:
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
C’est fondamentalement le même effet qu’une instruction SQL, excepté le SELECT * FROM df WHERE
est impliqué.