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

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

從 df.to_markdown() 中刪除空格

從 df.to_markdown() 中刪除空格

慕的地8271018 2024-01-12 10:29:43
通過將文本文件讀入數據框中,我想根據現有列中的值添加一個新列,即添加“庫存”和“交貨”中的數值。問題是,原始數據(來自數據供應商)是從“df.to_markdowns()”生成的。看來我無法刪除空格。ds = pd.read_csv("C:\\TEMP\\ff.txt", sep="|", header = 0, skipinitialspace=True)ds.columns = ds.columns.str.strip()df['new'] = ds['Stock'] + ds['Delivery']print (df)對于這樣的情況,應該采取怎樣的處理方式呢?順便說一下,這模擬了從“df.to_markdown()”創建文本文件import pandas as pddata = {'Price': [59,98,79],'Stock': [53,60,60],'Delivery': [11,7,6]}df = pd.DataFrame(data)with open("C:\\TEMP\\ff.txt", 'a') as outfile:    outfile.write(df.to_markdown() + "\n")outfile.close
查看完整描述

2 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

這應該可以滿足您的需要。


ds = pd.read_csv(

    "C:\\TEMP\\ff.txt",

    sep="|",

    skiprows=[1],

    skipinitialspace=True

)

ds.columns = ds.columns.str.strip()

ds = ds.loc[:, ["Price", "Stock", "Delivery"]]

ds['new'] = ds['Stock'] + ds['Delivery']


print(ds)

輸出


   Price  Stock  Delivery  new

0     59     53        11   64

1     98     60         7   67

2     79     60         6   66

skiprows=[1]跳過索引 1 處的行,即帶有--------:


從數據幀中刪除該行后,pandas 會自動將Price、Stock和Delivery列解釋為整數,這使得語句ds['new'] = ds['Stock'] + ds['Delivery']能夠按預期工作。


查看完整回答
反對 回復 2024-01-12
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

這適用于您提供的示例:

pd.read_csv("~/Downloads/ff.txt", sep=r"\s*\|\s*", engine="python", skiprows=[1])[["Price", "Stock", "Delivery"]]

如果您想要其他東西,我建議您提供一個示例。


查看完整回答
反對 回復 2024-01-12
  • 2 回答
  • 0 關注
  • 318 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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