加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

我有一个很长的元组列表,我需要排序,例如. [(’12 / 2010′,196.

发布时间:2020-12-20 12:29:29 所属栏目:Python 来源:网络整理
导读:我有一长串元组,我需要排序,例如. [(’11 / 2010′,196.9876),(’11/2010′,654.9876),(’12/2010′,234.9876)………] 我想使用日期(第一个元素)将元组中的第二个元素分组到单独的列表中.到目前为止,我已经获得了一个单独的列表,例如[11 / 2010,12 / 2010 …
我有一长串元组,我需要排序,例如. [(’11 / 2010′,196.9876),(’11/2010′,654.9876),(’12/2010′,234.9876)………]

我想使用日期(第一个元素)将元组中的第二个元素分组到单独的列表中.到目前为止,我已经获得了一个单独的列表,例如[11 / 2010,12 / 2010 ….],并且我正在尝试使用这些来引用更大的列表并进行数学计算,我想出了:

vol_new = []
for monthrow in unique_date_list: 
    for row in date_and_av_tup: 
        if monthrow == row[0]:
            vol_new.append(row[1])
            len_vol_new = len(vol_new) # finds the n of items in volume list
            my_vol_total_new = reduce(lambda y,x: x+y,vol_new) # adds everything in the volume list
            average_vol_new = float(my_vol_total_new) / float(len_vol_new) #stores the average volume in a list

print average_vol_new

这可能是非常垃圾的代码,但我是编码的新手,并且在尝试这样做时非常沮丧,感谢您提供的任何帮助.

PS我正在使用Python

解决方法

您可能会发现 pandas数据分析库对此非常有用,可以创建一个可以轻松执行这些功能的表.例如:

import pandas as pd

months = [('11/2010',('11/2010',('12/2010',234.9876)]
df = pd.DataFrame(months,columns=['Month','Value'])

df是DataFrame(即表格),看起来像:

Month   Value
0    11/2010     196.9876
1    11/2010     654.9876
2    12/2010     234.9876

您可以使用groupby获取平均值和总数:

[7]:  df.groupby('Month').mean()
Out[7]:         Value    
        Month   
        11/2010  425.9876
        12/2010  234.9876

In [8]: df.groupby('Month').sum()
Out[8]:          Value
        Month   
        11/2010  851.9752
        12/2010  234.9876

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读