簡體   English   中英

使用 lambda 了解 pandas 中的分配行為

[英]Understand assign behaviour in pandas using lambda

我使用 python 3.8.5 和 Z3A43B4F8832915D94022C0EF 版本創建了一個簡單的 pandas dataframe。

df = pd.DataFrame({'x' : [1,2], 'y' : [3,4]})

我想使用assign function將2列添加到第三列中。

df.assign(c = lambda d: str(d['x']) + str(d['y']))

在此處輸入圖像描述

我期待看到列 'c' 有 ['13', '24']

有人可以幫我理解這種行為嗎?

使用str(d['x'])您將獲得pd.Series的字符串表示形式(在您執行print(df['x'])時類似),這不是您想要的。

如果您想將.assign與 lambda 一起使用,您可以執行以下操作:

df = pd.DataFrame({"x": [1, 2], "y": [3, 4]})

print(df.assign(c=lambda d: d["x"].astype(str) + d["y"].astype(str)))

印刷:

   x  y   c
0  1  3  13
1  2  4  24

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM