[英]Go through cells of a single column, and apply a formula to them if they meet a certain condition using Pandas?
在 CSV 文件中進行一些數據清理。 在將數據上傳到網站之前,我想將一些 CSV 數據轉換為 HTML。
我將瀏覽 pandas dataframe 中名為“詳細信息”的列中的每個單元格。
如果一個單元格以這個字符組合開頭: \r\r\n \t ,那么我想用這個替換它: <ul><li>
df2 = df.copy() def startswith_replace (x, a, b): if x.startswith(a): x.replace(a, b) df2['Details'] = df2['Details']. apply(lambda x: startswith_replace(x, '\\r\\r\\n \\t', '\<ul\>\<li\>'))
但是,當我運行它時,“詳細信息”列中的每個單元格都被替換為“無”作為其值。
這可以使用內置的Series.str.replace來完成,而無需定義自己的 function,只需一點正則表達式
( ^
僅檢查字符串的開頭, ()
可選擇將其設置為捕獲組,但如果您決定要替換所有出現的位置,則兩者都可以省略並傳遞原始字符串)
df
A B A Details
0 1 2 3 \r\r\n \t
1 4 5 6 lkjn \r\r\n \t
2 7 8 9 abcdefg
df['Details']=df['Details'].str.replace(r'^(\r\r\n \t)','\<ul\>\<li\>')
A B A Details
0 1 2 3 \<ul\>\<li\>
1 4 5 6 lkjn \r\r\n \t
2 7 8 9 abcdefg
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.