【问题标题】:Python Pandas query functionPython Pandas 查询函数
【发布时间】:2021-01-02 14:40:57
【问题描述】:
for state in sample_states:
    state_df = df.query("Province_State == state").sum()

当我浏览一个名为“sample_states”的列表时,如何将值分配给“state”,以便计算机可以读取我所指的内容?

【问题讨论】:

  • 很可能你甚至不应该在这里使用query。试试df.groupby("Province_State").sum()
  • 我在这里同意@DYZ。您可能不需要遍历任何内容。
  • @Sean FYI:彻底回答问题非常耗时。如果您的问题得到解决,请接受最适合您需求的解决方案,以表示感谢。接受检查位于答案左上角的向上/向下箭头下方。如果出现更好的解决方案,则可以接受新的解决方案。如果您的声誉超过 15 岁,您还可以使用向上或向下箭头对答案的质量/有用性进行投票。如果解决方案无法回答问题,请发表评论。

标签: python python-3.x pandas


【解决方案1】:

使用 fstring (Python 3.6+):

for state in sample_states:
    state_df = df.query(f"Province_State == {state}").sum()

fstring 的语法相当简单,只需在任何字符串前添加f,然后在任何变量上添加{...}

或者只使用旧的“字符串格式化程序”(Python 2.6+ -> 但从 python 3 开始引入):

for state in sample_states:
    state_df = df.query(f"Province_State == {}".format(state)).sum()

【讨论】:

    【解决方案2】:

    使用“@”,根据docs

    for state in sample_states:
        state_df = df.query("Province_State == @state").sum()
    

    【讨论】:

      猜你喜欢
      • 2019-02-01
      • 2021-07-12
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      • 2021-06-18
      • 2016-10-17
      • 1970-01-01
      • 2018-04-03
      相关资源
      最近更新 更多