gpt4 book ai didi

python - 为什么我的 apply 函数不返回字符串的长度?

转载 作者:行者123 更新时间:2023-12-01 05:26:23 25 4
gpt4 key购买 nike

我正在尝试添加一个 Pandas DataFrame 列,其中包含另一列中的字符串长度。

csv = pd.read_csv('data/sentiments.csv', dtype=str)
csv['length'] = csv['text'].astype(str).apply(len)
csv.head()

text polarity length
0 -Mi hijo es tan rico que le regalo un BMW a su... NEUTRAL 64
1 The new BMW 3 Series is awarded 5 stars in the... POSITIVE 64
2 @GEAGarratt BMW hand over 200 + electric vehic... POSITIVE 64
3 I asked Sauber about more info or images of th... NEUTRAL 64
4 bmw >>> NEUTRAL 7

正如您在最后一列中看到的,它表示每行的长度为 64。而另一方面,当我执行以下操作时:

len(csv.iloc[0]['text'])

它正确地将第一行的长度输出为 140。

出了什么问题?

最佳答案

为了避免 astype 的类型提升逻辑可能出现问题,您还可以尝试:

csv['length'] = csv['text'].apply(lambda x: len(str(x)))

您还可以使用 map 而不是 apply,因为您是按照 Series 的值进行操作的。

与 native 矢量化 astype 相比,使用此 lambda 效果不佳,因此您应该在解决问题后切换回此解决方法。

其他一些可能的混淆因素:(1) Seriestype 与每个元素的 type,(2) 空格正在被截断...

关于python - 为什么我的 apply 函数不返回字符串的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21265953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com