簡體   English   中英

熊貓如何找到與列值相等的行數

[英]pandas how to find the number of rows with the values of a column equal space

我想知道當一列的值等於一個或多個空格或制表符或換行符時,如何在df查找行數,

df['currency'].str.findall(r'[^\s|\n|\t]+')

但是上面的代碼只給了我currency列值的行索引。

您可能正在尋找

df['currency'].str.contains(r'\s+').sum()

您當前的方法是尋找包含空格的行。
另外, \\s已經包含\\n\\t ,因此這里實際上不需要字符類。 +運算符匹配一次或多次。


對於記錄, \\s等效於

 [ \\t\\n\\r\\f\\v] 

有關更多詳細信息,請參見Python文檔

嘗試使用.str.contains ,它將為每行返回一個布爾值,然后對結果求和:

df['currency'].str.contains(r'\S+').sum()

根據@Jan和@ctwheels的提示更新了正則表達式- \\s+將匹配一個或多個空格字符( \\S將匹配一個或多個非空格字符,如果需要的話)。

您不需要正則表達式。 一種方法是應用pd.Series.strip並測試結果是否為空字符串。

import pandas as pd

s = pd.Series(['  ', '\t', ' ', 'string', '--'])

res = s.str.strip().values == ''

# array([ True,  True,  True, False, False], dtype=bool)

要計算行數:

res = (s.str.strip().values == '').sum()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM