我有一个一列一行的 Dataframe ,如下所示:
list_id 12,13,14,16
list_id列类型为Object:
list_id
Object
df['list'].dtypes => Object
当我试图获取此列中的元素数时
l = list(df.list_id) len(l) => 1
或者
len(df['list_id'] => 1
为什么我得到的是1而不是4?我想得到的元素计数为4。我可以做什么?
8oomwypt1#
示例
data = {'list_id': {0: '12,13,14,16'}} df = pd.DataFrame(data)
代码
df['list_id'].str.split(',').str.len()
结果
0 4 Name: list_id, dtype: int64
如果您只想获得4个非序列,请使用以下代码:
df['list_id'].str.split(',').str.len()[0]
yfwxisqw2#
如果list_id列中有实际列表:
df['list_id'].str.len()
如果有字符串,可以计算','的个数并加1(除非字符串为空'):
','
df['list_id'].str.count(',') + df['list_id'].ne('')
输出量:
2条答案
按热度按时间8oomwypt1#
示例
代码
结果
如果您只想获得4个非序列,请使用以下代码:
yfwxisqw2#
如果
list_id
列中有实际列表:如果有字符串,可以计算
','
的个数并加1(除非字符串为空'):输出量: