我有一个csv
文件,我用pandas
处理它。这个列叫做raw_value
。我想检索这个列中唯一的字符。
x=df.manual_raw_value.unique()
允许检索唯一的行。但是,我希望检索这列中的整个字符。这是:alphabet= 6,3 5 1 8 V O T R E A 2 . é è /:
raw_value
6,35
11,68
VOTRE
AVEL AR VRO
2292
questions.
nb
les
937,99
à
et
TTC
1
620
Echéance
vos
ROB21
Pièce
AGRIAL
désignation
des
taux
13s
2
par
le
mois,
32
21/07/2016
FR
au
0
téléphonique
BROYEUR
et
ST
TVA
de
des
ECHEANCIER
à
ne
lieu
481,67
N°0016
de
ministère
de
20/11/2015
Si
vous
59
cas
EUR
3.19
2
contrôle
assurances
BAS
et
4423873
renseignements
6104219
C9DECOMPTEDIVERS
6635
DE
10825
编辑_1
这三种方法都很有效,我选了第二种
set(df.raw_value.apply(list).sum())
但是它返回一些编码的字符。它是否与编码有关?如何解码和显示真实的的字符。下面是它打印的内容
{' ',
'!',
'"',
'%',
'&',
"'",
'(',
')',
'*',
'+',
',',
'-',
'.',
'/',
'0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
':',
'=',
'>',
'?',
'@',
'_',
'a',
'b',
'c',
'd',
'e',
'f',
'g',
'h',
'i',
'j',
'k',
'l',
'm',
'n',
'o',
'p',
'q',
'r',
's',
't',
'u',
'v',
'w',
'x',
'y',
'z',
'\x82',
'\x87',
'\x94',
'\xa1',
'\xa7',
'\xaa',
'\xab',
'\xac',
'\xae',
'\xaf',
'\xb0',
'\xb4',
'\xb9',
'\xbb',
'\xc2',
'\xc3',
'\xe2'}
5条答案
按热度按时间8oomwypt1#
可以先将原始值转换为字符串列表,然后堆栈为char df并获得唯一元素。
您也可以通过将原始值转换为列表,concat列表,然后获取列表的集合来实现这一点。
更简单的方法是直接将原始值连接到字符串,然后对其应用set,因为字符串本质上是一个列表。
注意,第一种方法将在结果中包括nan,而第二种和第三种方法将排除nan。
afdcj2ne2#
我知道这个问题已经得到了回答,但这里有另一种方式来回答它:
i7uaboj43#
还有另一种方法:
sqyvllje4#
如果你的数据框很大,但有一些你知道的字符出现在你的列中,你可以使用
strip()
来删除这些字符来加快速度。此外,你可以将你的列转换为字符串并添加字符串,而不是添加列表。例如,下面的代码假设你知道数字0123456789出现在你的列中。8qgya5xd5#
我认为将原始值转换为列表并连接它们不是一个好主意。它需要相当大的内存和时间来处理。声明set并更新它会更快: