【发布时间】:2019-12-09 00:52:00
【问题描述】:
我正在尝试过滤数据框中包含字母“R”或“H”的列。
当我只搜索 1 个字母时代码有效,但当我添加 or 语句时它返回所有列。
我想知道是否可以在列表推导中使用 or 。这是我的代码:
data = pd.read_csv(filename)
data_sorted = data.sort_values('Timestamp', ascending=False)
four_dec_cols = [col for col in data_sorted if 'H' in col]
失败的代码:
four_dec_cols = [col for col in data_sorted if 'RB' or 'H' in col]
最终,我想将包含“H”或“R”的列四舍五入到小数点后 4 位,其余所有列到小数点后 2 位,所以如果有更直接的方法可以做到这一点,我会很感激这个建议.
非常感谢!
编辑: 所以理想情况下 - 我想返回这个数据框,其中包含 RB 或 H 的任何列四舍五入到小数点后 4 位,其他所有内容都四舍五入到 2。
【问题讨论】:
-
您在寻找
'R'还是'RB'?
标签: python pandas list conditional-statements