簡體   English   中英

從熊貓列中的列表中刪除字符

[英]Removing characters from lists in pandas column

我有一個帶有兩列( NACE和已cleaned )的 Pandas DataFrame df ,如下所示:

    NACE     cleaned
0   071 [260111, 260112]
1   072 [2603, 2604, 2606, 261610, 261690, 2607, 2608]
2   081 [251511, 251512, 251520, 251611, 251612, 25162]
3   089 [251010, 251020, 2502, 25030010, 251110, 25112]
4   101 [020110, 02012020, 02012030a), 02012050, 020130]
... ... ...
92  324 [95030021, 95030041, 95030049, 95030029, 95030]
93  325 [901841, 90184910, 90184990b), 841920, 90183110]
94  329 [960310, 96039010, 96039091, 96039099, 960321]
95  331 [-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-, 983843]
96  332 [-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-]

cleaned列由字符串列表組成,其中一些仍然包含需要刪除的字符。 具體來說,我需要刪除所有+-)

為了專注於這些+ ,我嘗試了很多方法,包括:

df['cleaned'] = df['cleaned'].str.replace('+', '')

但是也:

df.replace('+', '', regex = True, inplace = True)

和絕望的:

for i in df['cleaned']:
    for x in i:
        i.replace('+', '')

這些解決方案的不同版本適用於大多數數據幀,但不適用於列由列表組成的情況。

只是改變

for i in df['cleaned']:
  for x in i:
    i.replace('+', '')

到:

for i in df['cleaned']:
  for x in range(len(i)):
    i[x].replace('+', '')

它應該工作。

暫無
暫無

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

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