[英]Why does the lambda instruction return different results?
import pandas as pd
df = pd.DataFrame([['AB,CD'],['AB,FJS'],['DG']],
index = [1,2,3],columns=['A'])
為什么以下兩個代碼返回不同的結果
for i in df["A"]:
for n in i.split(","):
print(n)
返回
AB
CD
AB
FJS
DG
但其他代碼
def fx(x):
for i in x["A"]:
for n in i.split(","):
print(n)
df.apply(lambda x: fx(x), axis = 1)
返回
A
B
,
C
D
A
B
,
F
J
S
D
G
那么,為什么 lambda 會返回不同的結果呢? 以及如何更改 lambda 代碼以返回與前一個相同的結果? 感謝之前的
結果不同,因為 lambda 函數分別應用於每一行。 因此,例如,在第一行中x
是AB,CD
並且當您for i in x["A"]
,您會遍歷每個單獨的符號。
def fx(x):
for i in x["A"].split(","):
print(i)
df.apply(lambda x: fx(x), axis = 1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.