Create an empty Data frame with date index:

  1. import pandas as pd
  2.  
  3. def test_run():
  4. start_date='2017-11-24'
  5. end_data='2017-11-28'
  6. dates=pd.date_range(start_date, end_data)
  7. df1=pd.DataFrame(index=dates)
  8. print(df1)
  9.  
  10. """
  11. Empty DataFrame
  12. Columns: []
  13. Index: [2010-01-22 00:00:00, 2010-01-23 00:00:00, 2010-01-24 00:00:00, 2010-01-25 00:00:00, 2010-01-26 00:00:00]
  14. """

Now we want to load SPY.csv and get 'Adj Close' column value and copy the range (11-21, 11-28) data to the empty data frame:

  1. import pandas as pd
  2.  
  3. def test_run():
  4. start_date='2017-11-24'
  5. end_data='2017-11-28'
  6. dates=pd.date_range(start_date, end_data)
  7.  
  8. # Create an empty data frame
  9. df1=pd.DataFrame(index=dates)
  10.  
  11. # Load csv file
  12. dspy=pd.read_csv('data/SPY.csv',
  13. index_col="Date",
  14. parse_dates=True,
  15. usecols=['Date', 'Adj Close'],
  16. na_values=['nan'])
  17. # print(dspy)
  18. """
  19. Adj Close
  20. Date
  21. 2017-11-16 258.619995
  22. 2017-11-17 257.859985
  23. 2017-11-20 258.299988
  24. """
  25.  
  26. # join the table
  27. df1=df1.join(dspy)
  28. #print(df1)
  29. """
  30. Adj Close
  31. 2017-11-24 260.359985
  32. 2017-11-25 NaN
  33. 2017-11-26 NaN
  34. 2017-11-27 260.230011
  35. """
  36.  
  37. # drop the nan row
  38. df1=df1.dropna()
  39. print(df1)
  40. """
  41. Adj Close
  42. 2017-11-24 260.359985
  43. 2017-11-27 260.230011
  44. 2017-11-28 262.869995
  45. """
  46.  
  47. if __name__ == '__main__':
  48. test_run()

There is a simpy way to drop the data which index is not present in dspy:

  1. df1=df1.join(dspy, how='inner')

We can also rename the 'Adj Close' to prevent conflicts:

  1. # rename the column
  2. dspy=dspy.rename(columns={'Adj Close': 'SPY'})

Load more stocks:

  1. import pandas as pd
  2.  
  3. def test_run():
  4. start_date='2017-11-24'
  5. end_data='2017-11-28'
  6. dates=pd.date_range(start_date, end_data)
  7.  
  8. # Create an empty data frame
  9. df1=pd.DataFrame(index=dates)
  10.  
  11. # Load csv file
  12. dspy=pd.read_csv('data/spy.csv',
  13. index_col="Date",
  14. parse_dates=True,
  15. usecols=['Date', 'Adj Close'],
  16. na_values=['nan'])
  17. # print(dspy)
  18. """
  19. Adj Close
  20. Date
  21. 2017-11-16 258.619995
  22. 2017-11-17 257.859985
  23. 2017-11-20 258.299988
  24. """
  25.  
  26. # rename the column
  27. dspy=dspy.rename(columns={'Adj Close': 'spy'})
  28.  
  29. # join the table
  30. df1=df1.join(dspy, how='inner')
  31. # print(df1)
  32. """
  33. Adj Close
  34. 2017-11-24 260.359985
  35. 2017-11-27 260.230011
  36. 2017-11-28 262.869995
  37. """
  38.  
  39. symbols=['aapl', 'ibm']
  40. for symbol in symbols:
  41. temp=pd.read_csv('data/{0}.csv'.format(symbol), index_col="Date", parse_dates=True, usecols=['Date', 'Adj Close'], na_values=['nan'])
  42.  
  43. temp=temp.rename(columns={'Adj Close': symbol})
  44.  
  45. df1=df1.join(temp)
  46.  
  47. print(df1)
  48. """
  49. spy aapl ibm
  50. 2017-11-24 260.359985 174.970001 151.839996
  51. 2017-11-27 260.230011 174.089996 151.979996
  52. 2017-11-28 262.869995 173.070007 152.470001
  53. """
  54.  
  55. if __name__ == '__main__':
  56. test_run()

[Python] Pandas load DataFrames的更多相关文章

  1. python & pandas链接mysql数据库

    Python&pandas与mysql连接 1.python 与mysql 连接及操作,直接上代码,简单直接高效: import MySQLdb try: conn = MySQLdb.con ...

  2. Python pandas ERROR 2006 (HY000): MySQL server has gone away

    之前在做python pandas大数据分析的时候,在将分析后的数据存入mysql的时候报ERROR 2006 (HY000): MySQL server has gone away 原因分析:在对百 ...

  3. Python+Pandas 读取Oracle数据库

    Python+Pandas 读取Oracle数据库 import pandas as pd from sqlalchemy import create_engine import cx_Oracle ...

  4. 看到篇博文,用python pandas改写了下

    看到篇博文,https://blog.csdn.net/young2415/article/details/82795688 需求是需要统计部门礼品数量,自己简单绘制了个表格,如下: 大意是,每个部门 ...

  5. Python pandas快速入门

    Python pandas快速入门2017年03月14日 17:17:52 青盏 阅读数:14292 标签: python numpy 数据分析 更多 个人分类: machine learning 来 ...

  6. Python pandas & numpy 笔记

    记性不好,多记录些常用的东西,真·持续更新中::先列出一些常用的网址: 参考了的 莫烦python pandas DOC numpy DOC matplotlib 常用 习惯上我们如此导入: impo ...

  7. python. pandas(series,dataframe,index) method test

    python. pandas(series,dataframe,index,reindex,csv file read and write) method test import pandas as ...

  8. oracle数据据 Python+Pandas 获取Oracle数据库并加入DataFrame

    import pandas as pd import sys import imp imp.reload(sys) from sqlalchemy import create_engine impor ...

  9. Python Pandas找到缺失值的位置

    python pandas判断缺失值一般采用 isnull(),然而生成的却是所有数据的true/false矩阵,对于庞大的数据dataframe,很难一眼看出来哪个数据缺失,一共有多少个缺失数据,缺 ...

随机推荐

  1. swift 20 - Nested Types

    Nested Types 只是为了方便类型的整合和使用 struct BlackjackCard { // nested Suit enumeration enum Suit: Character { ...

  2. cuDNN编写卷积实例

    转载至http://www.goldsborough.me/cuda/ml/cudnn/c++/2017/10/01/14-37-23-convolutions_with_cudnn/ Convolu ...

  3. Hadoop不同模式下关键配置属性

    Hadoop分为三种模式: 独立(或本地)模式. 伪分布模式. 全分布模式 不同模式下关键配置项及属性内容如下面表格所示 组件名称 配置的文件名 属性名称 独立模式 伪分布模式 全分布模式 Commo ...

  4. 洛谷 P2279 [HNOI2003]消防局的设立 (树形dp or 贪心)

    一看到这道题就知道是树形dp 之前做过类似的题,只不过保护的范围是1 所以简单很多. 这道题保护的范围是2,就复杂了很多. 我就开始列状态,然后发现竟然有5种 然后我就开始列方程. 但是我考虑的时候是 ...

  5. 紫书 习题8-9 UVa 1613 (dfs染色+图的性质)

    这道题一开始我没想什么直接开始染, 但是是for循环一个节点一个节点染, 然后就WA 后了看了https://www.cnblogs.com/jerryRey/p/4702323.html 发现原来还 ...

  6. 华夏60 战斗机(最短路dijkstra)

    华夏60 战斗机(最短路dijkstra) 华夏60 超音速战斗机是当今世界上机动性能最先进的战斗机.战斗过程中的一个关键问题是如何在最短的时间内使飞机从当前的飞行高度和速度爬升/俯冲到指定的高度并达 ...

  7. Qt 5.3 下OpenCV 2.4.11 开发(5)最高效的像素引用

    OpenCV 提供一个函数 getTickCount() ,能够用来測量一段代码的执行时间.另一个函数 getTickFrequency() 用来返回每秒内的时钟周期.代码操作例如以下: double ...

  8. android获取自己定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度

    android获取自己定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度 1.获取自己定义控件height 在本Activity中获取当前Activity中控件的height: Button button ...

  9. 手机Android音视频採集与直播推送,实现单兵、移动监控类应用

    最新手机採集推送直播监控以及EasyDarwin开源流媒体平台的版本号及代码: EasyDarwin 开源流媒体云平台:https://github.com/easydarwin EasyClient ...

  10. Python 从入门到精通 全程最佳实现梳理

    零零星星的时间,持续完善中...... 1.一些基础的必要信息归纳 Python 官网 www.python.org 发明者 吉多·范罗苏姆 发行时间 1991年,​26年前 编程泛型 多泛型.面向对 ...