【发布时间】:2018-01-18 04:23:59
【问题描述】:
我有 2 个被过滤的数据框
df_pass = total_avg[total_avg>3] produces the following dataframe
AAPL GOOGL GOOG MSFT
1 3.401017 NaN NaN 3.255119
2 NaN NaN NaN NaN
3 4.16666 NaN NaN 3.264101
4 3.049794 4.331 NaN NaN
我在另一个 DF 上有另一个过滤器,但 DF 的布局与第一个相同。所以这段代码产生了下面的DF结果
df_min_pass = total_min[total_min>-10]
AAPL GOOGL GOOG MSFT
1 NaN NaN -2.099 NaN
2 NaN NaN -6.08 NaN
3 NaN -8.319 -1.86 -7.3
4 NaN -7.304 -6.92 NaN
请记住,这只是 DF 的一个示例。他们有更多的列。我想得到一个结合了do的结果数据框。因此,如果它通过了这两个条件,它将在另一个 DF 中显示结果,否则如果它不满足麻烦条件,则显示 NaN。我尝试了多种组合,例如
df_combo_all = (df_pass[df_pass >3]) & (df_min_pass[df_min_pass >-10])
df_combo_all = df_combo_all[(df_pass[df_pass >3]) & (df_min_pass[df_min_pass >-10])]
过滤器单独工作,但我不断收到此错误
TypeError:输入类型不支持 ufunc 'bitwise_and',并且根据强制转换规则 ''safe'',输入无法安全地强制转换为任何支持的类型。
似乎有多个掩码问题和其他关于按位错误的问题,但我似乎找不到适合我的问题。谁能帮忙
【问题讨论】:
-
当一个单元格同时填入两个df时,你如何组合它们?
标签: python pandas dataframe filter