【问题标题】:Trying to merge dataFrame尝试合并数据框
【发布时间】:2014-02-03 16:20:06
【问题描述】:

请看图。

我一直在尝试自己解决这个问题,但不幸的是我没有成功。 我基本上希望有以下格式:

     close1        close2
date   x              x
       x              x

***code***

import matplotlib
import matplotlib.pyplot as plt

import pandas as pd
from pandas import Series, DataFrame
import ystockquote

#eon
his1 = ystockquote.get_historical_prices('EOAN.DE', '2013-01-01', '2013-01-10')
eon = DataFrame(his1)

close_eon = eon.ix["Close"]

#RWE
his2 = ystockquote.get_historical_prices('RWE.DE', '2013-01-01', '2013-01-10')
rwe = DataFrame(his2)


close_rwe = rwe.ix["Close"]

fig = plt.figure(); ax = fig.add_subplot(1,1,1)
ax.plot(close_eon)
ax.plot(close_rwe)
plt.show()

eonrwe = eon.append(rwe)

【问题讨论】:

  • 复制粘贴代码怎么样?

标签: python python-2.7 pandas dataframe


【解决方案1】:

你能连接close系列吗?

import matplotlib.pyplot as plt
import pandas as pd
import pandas.io.data as web


start = pd.datetime(2013, 1, 1)
end = pd.datetime(2013, 1, 10)

eon = web.DataReader("EOAN.DE", 'yahoo', start, end)
rwe = web.DataReader("RWE.DE", 'yahoo', start, end)
closes = pd.concat({ "eon" : eon["Close"], "rwe" : rwe["Close"]}, axis=1)
closes.plot()

给予

             eon     rwe
2013-01-01   14.09   31.24
2013-01-02   14.35   31.61
2013-01-03   14.40   31.53
2013-01-04   14.51   31.90
2013-01-07   14.26   30.93
2013-01-08   14.22   30.95
2013-01-09   14.40   31.30
2013-01-10   14.35   30.70

【讨论】:

  • 嘿,@aaaa,我更新了我的答案以使用 pandas 内置的 Yahoo Finance 刮板。它消除了依赖关系,使串联中的标签处理更容易,并自动处理我以前必须手动处理的日期时间问题。如果你不喜欢ystockquote,我强烈推荐它!
猜你喜欢
  • 2020-04-13
  • 2020-01-07
  • 2021-10-07
  • 1970-01-01
  • 2018-03-22
  • 1970-01-01
  • 2021-05-17
  • 2017-08-26
相关资源
最近更新 更多