2017-05-28 61 views
0

l有csv文件,该文件与pandas一起处理。该列名为raw_value l想要检索此列中的唯一字符。获取给定列中使用的字符的唯一列表

x=df.manual_raw_value.unique() 

允许检索唯一行。不过,我正在寻找这个专栏中的整个字符。 这是: alphabet = 6,3 5 1 8 V O T R E A 2。 éE /:

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 

EDIT_1

所有三种解决方案完美的作品。 l选择了第二个

set(df.raw_value.apply(list).sum()) 

Hwever它返回一些编码字符。它与编码有关吗? 如何解码和显示真正的字符。这里是它打印的内容

{' ', 
'!', 
'"', 
'%', 
'&', 
"'", 
'(', 
')', 
'*', 
'+', 
',', 
'-', 
'.', 
'/', 
'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'} 

回答

2

您可以先将原始值转换为字符串列表,然后堆栈到char df并获取唯一元素。

df.applymap(list).raw_value.apply(pd.Series).stack().unique() 
Out[620]: array(['6', ',', '3', ..., 'ô', 'D', 'M'], dtype=object) 

您还可以通过将原始值转换为列表,将列表转换为列表,然后获取列表集。

set(df.raw_value.apply(list).sum()) 

一个尚未简单的方法就是直接CONCAT原始值的字符串,然后应用设置就可以了,因为串本质上是一个列表。

set(df.raw_value.sum()) 

注意,第一种方法将在结果中包含nan,而第二种和第三种方法不包含nan。

+0

请参阅我的更新。谢谢 – vincent75