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

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

將數字和字符串拆分到 pandas 上的不同列

將數字和字符串拆分到 pandas 上的不同列

牧羊人nacy 2023-12-29 15:35:10
我喜歡將列分成str和 數字。data={"name&numb":["cat 123","34 dog","bird 93","dolphin dof 8 ","lion cat 76","tiger 22 animal "]} df=pd.DataFrame.from_dict(data)我這樣做了所以分開了數字df["number"]=df["name&numb"].str.extract('(\d+)')現在我想再制作一列,所以我只得到字符串,我不知道它是否會影響,但在原始數據中,而不是英語就像是: df["strings"]=df["name&numb"].str.extract('str')
查看完整描述

1 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

我相信您需要Series.str.extract使用\Dfor 非數字數據來Series.str.strip刪除尾隨空格:

df["number"]=df["name&numb"].str.extract('(\d+)')


df["strings"] = df["name&numb"].str.extract('(\D+)', expand=False).str.strip()

如果需要所有字符串,一個想法是使用:


f = lambda x: ' '.join(y for y in x.split() if not y.isdigit())

df["strings1"] = df["name&numb"].apply(f)

print (df)

? ? ? ? ? name&numb number? ? ? strings? ? ? strings1

0? ? ? ? ? ?cat 123? ? 123? ? ? ? ? cat? ? ? ? ? ?cat

1? ? ? ? ? ? 34 dog? ? ?34? ? ? ? ? dog? ? ? ? ? ?dog

2? ? ? ? ? ?bird 93? ? ?93? ? ? ? ?bird? ? ? ? ? bird

3? ? dolphin dof 8? ? ? ?8? dolphin dof? ?dolphin dof

4? ? ? ?lion cat 76? ? ?76? ? ?lion cat? ? ? lion cat

5? tiger 22 animal? ? ? 22? ? ? ? tiger? tiger animal


查看完整回答
反對 回復 2023-12-29
  • 1 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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