我有一個pandas資料框架,有10列,數千行。 第一列是網站用戶的名字,例如:
Name ...
0 Alex
1 Fred
2 John
3 Chloe
...
我想把這第一列改為:
Name ...
0 Hi! 亞歷克斯,介意在晚上8點給我打電話嗎?
1 嗨! 弗雷德,介意在晚上8點給我打電話嗎?
2 嗨! 約翰,介意在晚上8點給我打電話嗎?
3 嗨! 克洛伊,介意在晚上8點給我打電話嗎?
...
在這里,數字8將被自由輸入。
一句話,目標字串模板可能是。"嗨!{},介意在{}下午給我打電話嗎?" - 第一個占位符將是相應單元格中的單詞,第二個占位符是輸入的數字。
我想遍歷所有的行,并手動改變字串,但這看起來很糟糕,也不是python的方式。
我想知道是否有一個單行代碼來完成這個任務。
uj5u.com熱心網友回復:
如果想使用模板,必須在apply或map中回圈,如:
y = 8
df['Name'] = df['Name'].apply(lambda x: f "嗨!{x},介意在{y}下午給我打電話嗎?" )
#alternative[/span]。
#df['Name'] = df['Name'].map(lambda x: f "Hi! {x}, mind calling me at {y} p.m.?")
print (df)
名稱
0 Hi! 亞歷克斯,介意在晚上8點給我打電話嗎?
1 嗨! 弗雷德,介意在晚上8點給我打電話嗎?
2 嗨! 約翰,介意在晚上8點給我打電話嗎?
3 嗨! 克洛伊,介意在晚上8點給我打電話嗎?
沒有apply替代:
y = 8。
df['Name'] = "Hi! " df['Name'] ",介意在" str(y) "p.m.?
print (df)
名稱
0 Hi! 亞歷克斯,介意在晚上8點給我打電話嗎?
1 嗨! 弗雷德,介意在晚上8點給我打電話嗎?
2 嗨! 約翰,介意在晚上8點給我打電話嗎?
3 嗨! 克洛伊,介意在晚上8點給我打電話嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/332431.html
標籤:
