亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Python 中從數據幀中的列表中刪除間距

在 Python 中從數據幀中的列表中刪除間距

aluckdog 2022-09-06 17:29:12
我有一個包含字符串列表的數據幀,我需要刪除每個列表中的空格:ID        numbers0      [ 1, 2,3, 4]1      [ abc, zzy]2      [ zz12, 22wq, 78]如何刪除“數字”字段中的間距?ID        numbers0      [1,2,3,4]1      [abc,zzy]2      [zz12,22wq,78]這是我嘗試過的:# remove spacingdf['numbers'] = df['numbers'].replace({' ':''}, regex=True)但它似乎不起作用!
查看完整描述

3 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

使用內置的分解方法。


df = pd.DataFrame({'ID': [0, 1, 2], 'numbers': [[' 1', '2','3',' 4'], [' abc',' zzy'], [' zz12',' 22wq',' 78']]})


temp = df.explode('numbers')

temp['numbers'] = temp.numbers.str.strip()

temp.groupby('ID', as_index=False).agg(list)


   ID           numbers

0   0      [1, 2, 3, 4]

1   1        [abc, zzy]

2   2  [zz12, 22wq, 78]

請注意,列表中的每個逗號后面仍然有一個空格,因為這是 IDE 格式化所有列表的方式,但是列表中的每個字符串項都已從中刪除所有空格。


查看完整回答
反對 回復 2022-09-06
?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

如果值的類型為“[1,2,3]”而不是[1,2,3],即列表:df['numbers']=df['numbers'].transform(lambda val:str(val).replace(' ',''))

但這會使你的列 str 類型。如果要將值作為列表返回,則 df['numbers']=df['numbers'].transform(lambda val: [x for x in ini_list.strip('] [').replace(',','').split(' ')]) 這將返回值作為列表元素


查看完整回答
反對 回復 2022-09-06
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

使用表達式:lambda


df['numbers'] = df['numbers'].apply(lambda x : [str(y).strip() for y in x])


   ID           numbers

0   0      [1, 2, 3, 4]

1   1        [abc, zzy]

2   2  [zz12, 22wq, 78]


查看完整回答
反對 回復 2022-09-06
  • 3 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號