python - Python_如何计数
问题描述
我有一个关于在 python 中计数的问题。我有一个 csv 文件,如下所示:
GOOG,100,900.10
MSFT,50,68.99
AAPL,100,152.92
IBM,5,151.95
GOOG,150,901.25
AAPL,50,152.25
TEAM,100,36.91
NVDA,75,117.88
INTC,200,36.24
IBM,10,151.91
AAPL,700,152.15
GOOG,100,900.99
GOOG,50,900.12
数据集没有明确定义,因此我需要解释一下。第一栏是工具,第二栏是数量,最后一栏是价格。我需要读取这个 csv 文件,然后从被分割的数据中创建列,现在。然后,我需要通过将数量乘以价格来计算价值。之后,我应该计算交易数量并打印最常见的 5 种工具,如下所示:
Top 5 trades by number of trades:
GOOG: 4 trade(s) total of 400 shares, $ 360,302.50
AAPL: 3 trade(s) total of 850 shares, $ 129,409.50
IBM: 2 trade(s) total of 15 shares, $ 2,278.85
MSFT: 1 trade(s) total of 50 shares, $ 3,449.50
TEAM: 1 trade(s) total of 100 shares, $ 3,691.00
我有以下代码不起作用,因为它不完整:
from collections import defaultdict, Counter
def analyse(filename):
# I should write my counter here
with open(filename) as src:
for line in src:
instrument, quantity, price = line.split(',')
quantity = int(quantity)
# I should compute value here
# I need summarize my results here
# This print can help me
print(f'{inst:>5}: {count:2} trade(s) total of {quantity:4} shares, ${value:11,.2f}')
if __name __ == '__main__':
analyse('filename')
我是 python 新手,因此我无法自己解决这个问题。任何帮助将不胜感激。
解决方案
看看熊猫。它可以做你需要的所有事情。
从...开始:
df = pandas.read_csv(<filename>, usecols = ['ticker', 'price', quantity']))
usecols
如果您的 csv 有列名,请使用。否则,在之后设置它们:df.columns = ['ticker', 'price', quantity']
.
然后您可以对列进行操作,例如:
df['result'] = df['price'] * df['quantity']
推荐阅读
- javascript - 禁用在 selenium (Node.js) 中打开的选项卡
- python - 带有 Google 表格的 Python 无法写入 Col B
- python - 为什么不识别 praw 模块?
- javascript - 无法使用设置变量javascript
- java - 在java中将数据存储在字节数组中
- django - 如果过期,PasswordResetConfirmView 的 PASSWORD_RESET_TIMEOUT 消息
- haskell - 源自不应到达的 where 语句的函数距离错误的非详尽模式
- javascript - 在中继分页graphql上滚动时合并以前的数据
- python - digdag shell 脚本任务瞬间完成
- javascript - 如何使用 Android Manifest 将 React Native Android 的默认文本颜色更改为黑色?