如何添加带有2个参数的查询。

huangapple go评论118阅读模式
英文:

How to add query with 2 parameters

问题

我的数据框如下 online_rt

  1. InvoiceNo StockCode Description Quantity InvoiceDate UnitPrice CustomerID Country
  2. 141 C536379 D Discount -1 12/1/10 9:41 27.50 14527.0 United Kingdom
  3. 154 C536383 35004C SET OF 3 COLOURED FLYING DUCKS -1 12/1/10 9:49 4.65 15311.0 United Kingdom
  4. 235 C536391 22556 PLASTERS IN TIN CIRCUS PARADE -12 12/1/10 10:24 1.65 17548.0 United Kingdom
  5. 236 C536391 21984 PACK OF 12 PINK PAISLEY TISSUES -24 12/1/10 10:24 0.29 17548.0 United Kingdom
  6. 237 C536391 21983 PACK OF 12 BLUE PAISLEY TISSUES -24 12/1/10 10:24 0.29 17548.0 Hong Kong

需要找到 Quantity 为负数且 Country 为 "Hong Kong" 的参数。

  1. online_rt.query('Quantity < 0 and Country == "Hong Kong"')

抛出错误。

英文:

My data frame is below online_rt

  1. InvoiceNo StockCode Description Quantity InvoiceDate UnitPrice CustomerID Country
  2. 141 C536379 D Discount -1 12/1/10 9:41 27.50 14527.0 United Kingdom
  3. 154 C536383 35004C SET OF 3 COLOURED FLYING DUCKS -1 12/1/10 9:49 4.65 15311.0 United Kingdom
  4. 235 C536391 22556 PLASTERS IN TIN CIRCUS PARADE -12 12/1/10 10:24 1.65 17548.0 United Kingdom
  5. 236 C536391 21984 PACK OF 12 PINK PAISLEY TISSUES -24 12/1/10 10:24 0.29 17548.0 United Kingdom
  6. 237 C536391 21983 PACK OF 12 BLUE PAISLEY TISSUES -24 12/1/10 10:24 0.29 17548.0 Hong Kong

need to find the parameters where Quantity is negative and country=Hong Kong

online_rt.query(&#39;Quantity &lt; 0&#39; )

i need to add one more parameter

online_rt.query(&#39;Quantity &lt; 0&#39; and &#39;country=Hong Kong&#39;) thrown error

答案1

得分: 1

假设online_rt是一个pandas DataFrame,您可以使用:

  1. filtered_df = online_rt[(online_rt['Quantity'] < 0) & (online_rt['country'] == 'Hong Kong')]
英文:

Assuming that online_rt is a pandas DataFrame, you can use:

  1. filtered_df = online_rt[(online_rt[&#39;Quantity&#39;]&lt;0) &amp; (online_rt[&#39;country&#39;]==&#39;Hong Kong&#39;)]

答案2

得分: 0

使用 DataFrame.query&#39;Hong Kong&#39;

  1. online_rt = pd.DataFrame({'Quantity': [-1, 2, 0],
  2. 'country': ['Hong Kong', 'USA', 'Hong Kong']})
  3. filtered_df = online_rt.query("Quantity < 0 & country == 'Hong Kong'")
  4. print(filtered_df)
  5. Quantity country
  6. 0 -1 Hong Kong

另一种使用 query 中的 and 运行方式如 &amp;

  1. filtered_df = online_rt.query("Quantity < 0 and country == 'Hong Kong'")
  2. print(filtered_df)
  3. Quantity country
  4. 0 -1 Hong Kong
英文:

Use DataFrame.query with &#39;Hong Kong&#39; :

  1. online_rt = pd.DataFrame({&#39;Quantity&#39;:[-1,2,0],
  2. &#39;country&#39;:[&#39;Hong Kong&#39;,&#39;USA&#39;,&#39;Hong Kong&#39;]})
  3. filtered_df = online_rt.query(&quot;Quantity &lt; 0 &amp; country == &#39;Hong Kong&#39;&quot;)
  4. print (filtered_df)
  5. Quantity country
  6. 0 -1 Hong Kong

Another solution with and working in query like &amp;:

  1. filtered_df = online_rt.query(&quot;Quantity &lt; 0 and country == &#39;Hong Kong&#39;&quot;)
  2. print (filtered_df)
  3. Quantity country
  4. 0 -1 Hong Kong

答案3

得分: 0

只需像这样操作:

online_rt.query('Quantity < 0 & country == Hong Kong')

英文:

Just do it like this

  1. online_rt.query(&#39;Quantity &lt; 0 &amp; country == Hong Kong&#39;)

huangapple
  • 本文由 发表于 2020年1月3日 18:50:55
  • 转载请务必保留本文链接:https://go.coder-hub.com/59577241.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定