小编oba*_*abs的帖子

系列的真值是模棱两可的.使用a.empty,a.bool(),a.item(),a.any()或a.all()

问题是使用or条件过滤我的结果数据帧.我希望我的结果df提取var高于0.25且低于-0.25的所有列值.下面的这个逻辑给了我一个模糊的真值,但是当我在两个单独的操作中分割这个过滤时它可以工作.这里发生了什么?不知道在哪里使用建议a.empty(), a.bool(), a.item(),a.any() or a.all().

 result = result[(result['var']>0.25) or (result['var']<-0.25)]
Run Code Online (Sandbox Code Playgroud)

python filtering boolean dataframe pandas

286
推荐指数
6
解决办法
49万
查看次数

尝试在DataFrame的切片副本上设置值

我有一个数据帧列周期,其中包含Quarters(Q1,Q2,Q3,Q4)的值,我希望将其转换为关联月份(请参阅dict).我的下面的代码工作但是想知道为什么我收到这个警告.

尝试在DataFrame的切片副本上设置值.尝试使用.loc [row_indexer,col_indexer] = value

quarter = {"Q1":"Mar","Q2":"Jun","Q3":"Sep","Q4":"Dec"}
df['period'] = df['period'].astype(str).map(quarter)
Run Code Online (Sandbox Code Playgroud)

python dictionary dataframe pandas

8
推荐指数
1
解决办法
2734
查看次数

基于另一列的最大值的列上的SQL内连接

我有两个表,一个"主"是主列表的名称,第二个"方案"是主列表中每个名称的多个方案的列表.我希望我的INNER JOIN查询从"scenario"表中获取具有列状态的ID的主列表,但仅获取基于scenarioID的最新状态.这是我尝试的代码和具有所需输出的表

SELECT DISTINCT a.[user], a.ID, a.Name, b.status
from master a
INNER JOIN scenario b ON a.ID = b.ID
WHERE
    b.scenarioID = (
           SELECT max(scenarioID) FROM scenario c2 WHERE c2.ID=c.ID)
Run Code Online (Sandbox Code Playgroud)

ID    user    Name
425   John    Skyline
426   John    Violin
427   Joe     Pura
Run Code Online (Sandbox Code Playgroud)

脚本

ID    ScenarioID    status
425   1             active
425   2             active
425   3             done
426   1             active
426   2             active
427   1             done
Run Code Online (Sandbox Code Playgroud)

期望的输出

ID    user    Name    status
425   John    Skyline done
426   John    Violin  active …
Run Code Online (Sandbox Code Playgroud)

sql sql-server inner-join max where

5
推荐指数
2
解决办法
808
查看次数

根据Pandas Dataframe中另一列的内容在一个列上运行操作

我正在尝试转换列'nominal'中对应的值'side'等于'B'的列中的行的负值。我不想丢失任何未转换的行。我在下面尝试过这个但是得到加薪KeyError('%s not in index' % objarr[mask])

df[-df['nominal']].where(df['side']=='B')
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

4
推荐指数
2
解决办法
696
查看次数