首页 > 解决方案 > 从python中的csv文件中获取值,大型数据集

问题描述

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

我的问题是,首先,我很难达到第一次约会的收盘价。不知何故,我想写一些类似“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 家公司中的每家公司的接近值。

您对任何方法有什么建议吗?

先感谢您

标签: pythoncsvdatasetdata-science

解决方案


推荐阅读