簡體   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