Sure,以下是针对“如何基于pandas读取csv后合并两个股票”的完整攻略:
1. 加载所需的库及数据
首先,我们需要工具库pandas来处理数据,另外需要加载多个csv文件,这里以两个网易和阿里巴巴的股票数据为例,并保存在当前的工作目录下:
import pandas as pd
# 读取两个csv文件
df1 = pd.read_csv('NTES.csv')
df2 = pd.read_csv('BABA.csv')
2. 数据清洗及字段调整
两个数据表中包含大量的字段,而且需要找到对应的key字段来进行合并。首先我们需要将其统一,然后选择出需要合并的key字段和其他附加信息字段。
# 数据清洗
df1_cleaned = df1[['Date', 'Close']]
df2_cleaned = df2[['Date', 'Close']]
# 字段重命名
df1_cleaned.rename(columns={'Close': 'NTES_Close'}, inplace=True)
df2_cleaned.rename(columns={'Close': 'BABA_Close'}, inplace=True)
这里通过df[['字段1', '字段2', ...]]的方式选择需要保留的字段,同时使用rename函数重命名,方便后面的合并操作。
3. 数据合并
接着,我们可以使用pandas的merge函数来把两个cleaned数据表按照相同的列名合并。我们以Date字段为key进行合并,从而生成一个新的数据表。
# 合并两个表
merged_data = pd.merge(df1_cleaned, df2_cleaned, on='Date', how='outer')
这里使用了merge函数的on和how参数,on参数指定的是合并所需的key字段,how参数指定的是合并模式,这里使用了outer模式,从而将两个表中同时存在的数据合并在一起。
4. 数据排序及输出
最后,我们按照日期进行排序,并使用to_csv函数将数据写出到一个新的csv文件中。
# 数据排序
merged_data = merged_data.sort_values(by=['Date'])
# 将数据输出到新的csv文件中
merged_data.to_csv('merged_stock_data.csv', index=False)
这里使用了sort_values函数来将数据按照日期进行排序,然后使用to_csv函数将数据写出到merged_stock_data.csv文件中,同时关闭了index输出。
5. 示例
以下是合并两个数据表后的示例结果,可以看到从2015年到2019年的每日股票价格:
Date | NTES_Close | BABA_Close |
---|---|---|
2015-01-02 | ~128.240 | 92.690 |
2015-01-05 | ~126.820 | 90.910 |
2015-01-06 | ~125.520 | 90.000 |
2015-01-07 | ~127.240 | 89.430 |
2015-01-08 | ~129.440 | 92.890 |
... | ... | ... |
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何基于pandas读取csv后合并两个股票 - Python技术站