![我有一个很长的元组列表,我需要排序,例如. [(’122010′,196.9876),(’122010′,654.9876),(’112010′,234.9876)…],第1张 我有一个很长的元组列表,我需要排序,例如. [(’122010′,196.9876),(’122010′,654.9876),(’112010′,234.9876)…],第1张](/aiimages/%E6%88%91%E6%9C%89%E4%B8%80%E4%B8%AA%E5%BE%88%E9%95%BF%E7%9A%84%E5%85%83%E7%BB%84%E5%88%97%E8%A1%A8%2C%E6%88%91%E9%9C%80%E8%A6%81%E6%8E%92%E5%BA%8F%2C%E4%BE%8B%E5%A6%82.+%5B%28%E2%80%99122010%E2%80%B2%2C196.9876%29%2C%28%E2%80%99122010%E2%80%B2%2C654.9876%29%2C%28%E2%80%99112010%E2%80%B2%2C234.9876%29%E2%80%A6%5D.png)
我想使用日期(第一个元素)将元组中的第二个元素分组到单独的列表中.到目前为止,我已经获得了一个单独的列表,例如[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 Listprint average_vol_new
这可能是非常垃圾的代码,但我是编码的新手,并且在尝试这样做时非常沮丧,感谢您提供的任何帮助.
PS我正在使用Python
解决方法 您可能会发现 pandas数据分析库对此非常有用,可以创建一个可以轻松执行这些功能的表.例如:import pandas as pdmonths = [('11/2010',('11/2010',('12/2010',234.9876)]df = pd.DataFrame(months,columns=['Month','Value']) df是DataFrame(即表格),看起来像:
Month Value0 11/2010 196.98761 11/2010 654.98762 12/2010 234.9876
您可以使用groupby获取平均值和总数:
[7]: df.groupby('Month').mean()Out[7]: Value Month 11/2010 425.9876 12/2010 234.9876In [8]: df.groupby('Month').sum()Out[8]: Value Month 11/2010 851.9752 12/2010 234.9876 总结 以上是内存溢出为你收集整理的我有一个很长的元组列表,我需要排序,例如. [(’12 / 2010′,196.9876),(’12/2010′,654.9876),(’11/2010′,234.9876)…]全部内容,希望文章能够帮你解决我有一个很长的元组列表,我需要排序,例如. [(’12 / 2010′,196.9876),(’12/2010′,654.9876),(’11/2010′,234.9876)…]所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)