我有一个包含175759条记录的数据框。有一列“ os”,仅指示“ Windows”或“ Linux”。
如果os
仅Windows,我想创建一个有条件的数据框。手动过滤"os" = " Windows
显示我应该有161,978条记录,但是当我使用熊猫创建数据框时,我只有17,320条记录。我使用的代码如下。
os_windows = df_all[df_all.os == 'Windows']
还有另一种条件过滤行的方法吗?还是我的语法出了什么问题?
答案 0 :(得分:1)
也许您的列值包含前导和尾随空格。试试这个
df_all['os'] = df_all['os'].str.strip()
os_windows = df_all[df_all.os == 'Windows']
或
df_all['os'] = df_all['os'].str.strip()
os_windows = df_all[df_all['os'] == 'Windows']
也尝试一下
os_windows = df_all[df_all['os'].str.contains('Windows')]