import pandas as pd
df = pd.DataFrame({'a':["a","aa","aaaaa","a"]})
df["len"] = map(len, df["a"])
为什么这不起作用?或更确切地说,为什么这不起作用?
我了解list(map(...))
的工作原理,并且我了解熊猫需要提供执行df["col"] = map(...)
的功能
我想知道为什么未实现/为什么不将其视为Pythonic / Pandaesque。
答案 0 :(得分:2)
我想知道为什么未实现/为什么不将其视为Pythonic /
我认为答案是-因为已经存在方法Series.map
,所以在熊猫map
中的工作方式与纯python不同。
顺便说一句,这里最好使用pandas版本作为长度-Series.str.len
:
df["len"] = df["a"].str.len()
但如果使用熊猫map
方法也可以使用:
df["len"] = df["a"].map(len)