我有一张这样的桌子:
ID,Variation_price
1,{X:1, Y:2, Z:3}
2,{}
3,{X:5, W:6}
我如何计算每个ID的项目数以获取此结果:
1: 3
2: 0
3: 2
答案 0 :(得分:3)
让我们这样做
df['count_n']=df['Variation'].str.len()
如果数据类型是字符串
df['count_n']=df['Variation'].str.count(':')
答案 1 :(得分:1)
您可以使用以下命令获取字典的长度。
df['count_n'] = 0.0
for i in range(len(df)):
df.loc[i, 'count_n']=len(df.loc[i,'Variation'])
答案 2 :(得分:0)
您可以执行len()
以获取每个列表中元素的数量。
示例:
for index_, row_ in iterrow(tables)
print(len(row_))
答案 3 :(得分:0)
如果您的“变化”列是字符串类型:
import ast
df.set_index('ID').Variation.apply(ast.literal_eval).apply(len)
如果您的“变化”列是dict类型:
df.set_index('ID').Variation.apply(len)