我的数据如下所示:
object weight
table 2.3
chair 1.2
chair 1.0
table 1.5
drawer 1.8
table 1.7
我想根据不同类型的objects
对数据进行分组。另外,我想知道我有多少个物体和重量。你知道吗
例如,我的最终数据应该如下所示:
object counter weight
table 3 2.3, 1.5, 1.7
chair 2 1.2, 1.0
drawer 1 1.8
以下是我的尝试:
data = pd.read_csv('data.dat', sep = '\s+')
grouped_data = {'object':[],'counter':[], 'weight':[]}
objects = ['table', 'chair', 'drawer']
for item in objects:
counter = 0
weight = []
grouped_objects['object'].append(item)
for i in range(len(data)):
if item == data['name'][i]:
counter += 1
grouped_data['weight'].append(data['weight'])
grouped_data['counter'].append(counter)
它没有给我想要的输出。有什么建议吗?你知道吗
使用agg:
您可以通过使用
agg
并传递函数列表来实现:这假定
weight
列dtype
已经是str
如果不是,则通过执行df['weight'] = df['weight'].astype(str)
进行转换我认为您实际需要的是一个
defaultdict
(它是collections库中的一个类),其默认函数返回一个空列表。然后,该列表的len
将为您提供计数器。例如:相关问题 更多 >
编程相关推荐