簡體   English   中英

dataframe 列中的不同字符串計數

[英]Distinct string count in dataframe column

我有一個 .tsv 數據文件。 我想打印某一列中的字符串數。 該列如下所示:

column1
A aaa
A, C c
C
D
E ee,F
A aaa, B, C cc
F
E ee

我想要 A、B、C、A aaa 等的不同計數。但是在列中,“,”之后有時會有空格。 所以我的代碼對“B”和“B”的計數不同。 這是我目前使用的代碼:

import pandas as pd
import os

# Import data from file into Pandas DataFrame
data= pd.read_csv("data.tsv", encoding='utf-8', delimiter="\t")
pd.set_option('display.max_rows', None)
out = data['Column1'].str.split(',', expand=True).stack().value_counts()
print (out)

任何線索表示贊賞。

您需要將' '添加到您的拆分中,即split(', ') 嘗試',\s*' for ,后跟可選空格:

out = df['column1'].str.split(',\s*', expand=True).stack().value_counts()

Output:

F        2
E ee     2
A aaa    2
C c      1
C        1
A        1
C cc     1
B        1
D        1
dtype: int64

此外,您可以將', '替換為','並使用get_dummies

df['column1'].str.replace(',\s*',',').str.get_dummies(',').sum()

Output:

A        1
A aaa    2
B        1
C        1
C c      1
C cc     1
D        1
E ee     2
F        2
dtype: int64

暫無
暫無

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

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