熊猫:分配给带有地图的列

时间:2020-09-02 08:26:15

标签: python pandas

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。

1 个答案:

答案 0 :(得分:2)

我想知道为什么未实现/为什么不将其视为Pythonic /

我认为答案是-因为已经存在方法Series.map,所以在熊猫map中的工作方式与纯python不同。

顺便说一句,这里最好使用pandas版本作为长度-Series.str.len

df["len"] = df["a"].str.len()

但如果使用熊猫map方法也可以使用:

df["len"] = df["a"].map(len)