在大型数据集中使用python中的csv文件获取值

时间:2018-11-18 16:41:14

标签: python csv dataset data-science

我有一个csv文件,其中包含500家公司的股票价值,为期5年(2013-2017年)。我拥有的列是:日期,开盘价,最高价,最低价,收盘价,成交量和名称。我希望能够比较这些公司,看看其中哪20家是最好的。我当时只是考虑使用均值,但由于收集的第一个数据(2013年1月)的股票价值有所不同(某些开始时为30美元,另一些开始时为130美元),因此很难真正比较这五年来最好的。因此,我希望将每个公司的首个日期的值作为零点。基本上,我想从第一个日期到收集的其余数据中减去收盘价。

我的问题是,首先,我很难达到第一个日期的收盘价。我想以某种方式编写类似“ data.loc(data ['close'])。iloc(0)”的东西。但是由于它是一个数据框,所以我找不到行的值,也无法遍历该数据框。

其次,我不确定如何区分这两家公司。我想对这500家公司中的每家公司都执行零点操作,因此我需要知道何时重新开始。

我现在拥有的代码是

def main():

data = pd.read_csv('./all_stocks_5yr.csv', usecols = ['date', 'close', 'Name'])
comp_name = sorted(set(data.Name))
number_of = comp_name.__len__()

comp_mean = []
for i in comp_name:
    frames = data.loc[data['Name'] == i]
    comp_mean.append([i, frames['close'].mean()])

print(comp_mean)

但这只会给我平均值,而不会使用零点

我的另一个想法是,将第一个值(2013年1月1日)的收盘价与最后一个值(2017年12月31日)的收盘价进行比较,以查看股票的增/减量。我不确定这是我如何从这些日期开始为500家公司中的每一个实现接近的价值。

您对任何一种方法都有建议吗?

提前谢谢

0 个答案:

没有答案