说我有一个数据框df
import pandas as pd
df = pd.DataFrame({"id":["a", "b", "aa", "aaa", "bbb", "a"]})
在这种情况下,我想计算列 id 的字符串长度计数。
在这个例子中id,长度为 1 的字符串有 3 个,长度为 2 的字符串有 1 个,长度为 3 的字符串有 2 个。所以我想要一个反映这些信息的表
str_length count
1 3
2 1
3 2
对数百万行执行此操作的最有效方法是什么?
这是我能想到的最好的,但我听说使用apply很慢
df_count = df.id.apply(lambda x: len(x)).value_counts()
df_count2 = pd.DataFrame({"str_length": df_count.index.tolist(), "count": df_count})
df_count2.sort_values("str_length")
产生。
str_length count
1 1 3
2 2 1
3 3 2
隔江千里
杨魅力
哈士奇WWW
相关分类