如何获取DataFrame列表型列中元素的最大字符数?
解决方案
1. 获取Values列的所有唯一值
先过滤掉Values列里的空值(nan),再把列表格式的元素拆成独立行,最后去重就能拿到所有唯一值:
# 过滤空值并展开列表 expanded_df = Df1['Values'].dropna().explode() # 获取唯一值(numpy数组格式) unique_values = expanded_df.unique() # 转成Python列表格式 unique_values_list = expanded_df.unique().tolist()
2. 找出单个元素的最大字符数
基于上面展开后的结果,计算每个元素的字符长度,再取最大值即可:
# 计算每个元素的字符长度 char_lengths = expanded_df.str.len() # 获取最大长度 max_char_length = char_lengths.max()
合并写法(一次完成两个需求)
如果想减少重复计算,可以把两个逻辑合并:
# 统一处理空值并展开列表 expanded_series = Df1['Values'].dropna().explode() # 获取唯一值列表 unique_vals = expanded_series.unique().tolist() # 获取最大字符数 max_len = expanded_series.str.len().max() print("唯一值列表:", unique_vals) print("最大字符数:", max_len)
用你的示例数据测试,会得到:
- 唯一值列表:
['Puppy', 'Lizard', 'Toad', 'Kitten', 'Eagle', 'BigLadybug', 'Bear', 'Froggie', 'Mozzie'] - 最大字符数:
9(对应元素BigLadybug)
内容的提问来源于stack exchange,提问作者monica
相关产品推荐
相关产品推荐

