繁体   English   中英

基于列值的 DataFrame 中的 select 行,限制为 16384 行

[英]select rows from a DataFrame based on column value, limit to 16384 rows

我有一个巨大的 *.csv 文件,其中包含如下示例的数据,并将 *.csv 文件加载到名为“data”的 dataframe

在此处输入图像描述

我想 select 具有“CHR”列等于“1”的行,我的代码如下

selected_row = data.loc[data['CHR'] == '1']

selected_row 的结果是正确的(示例中选择了第 0/3/6/7/10/13 行),但是,不包含列等于“1”的所有行,我终于发现 selected_row 包含 CHR= 的行='1' 直到第16384行数据,在selected_row中没有选择CHR=='1'的第16385行(以及后面的很多行)数据,请指教,谢谢。

尝试

selected_row = data.loc[data['CHR'].isin([1, '1'])]

我想你已经把你的过滤器弄混了,让你更容易现在将过滤器应用到你的 dataframe #试试这个

filter_row= data['CHR'] == '1']. #this would return a dataframe with boolean values which you can then use afterwards


```
data.loc[filter_row]

谢谢大家。 顺便说一句,奇怪的是如果我在读取*.csv文件时指定数据类型,问题也消失了,不知道背后的原因,仅供大家参考

data = pandas.read_csv("mydata.csv",dtype={"CHR":"string"})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM