[英]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.