相关疑难解决方法(0)

创建一个空的Pandas DataFrame,然后填充它?

我从这里的pandas DataFrame文档开始:http://pandas.pydata.org/pandas-docs/stable/dsintro.html

我想迭代地使用时间序列计算中的值填充DataFrame.基本上,我想用列A,B和时间戳行初始化DataFrame,全部为0或全部为NaN.

然后,我会添加初始值并检查此数据,计算前一行中的新行,row[A][t] = row[A][t-1]+1或者说左右.

我目前正在使用下面的代码,但我觉得它有点难看,必须有一种方法可以直接使用DataFrame,或者只是更好的方式.注意:我使用的是Python 2.7.

import datetime as dt
import pandas as pd
import scipy as s

if __name__ == '__main__':
    base = dt.datetime.today().date()
    dates = [ base - dt.timedelta(days=x) for x in range(0,10) ]
    dates.sort()

    valdict = {}
    symbols = ['A','B', 'C']
    for symb in symbols:
        valdict[symb] = pd.Series( s.zeros( len(dates)), dates )

    for thedate in dates:
        if thedate > dates[0]:
            for symb in valdict:
                valdict[symb][thedate] = 1+valdict[symb][thedate - dt.timedelta(days=1)]

    print valdict
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

381
推荐指数
4
解决办法
105万
查看次数

Pandas DataFrame concat vs append

我有一个4个pandas数据帧的列表,其中包含我想要合并到单个数据帧中的一天的tick数据.我无法理解concat在我的时间戳上的行为.详情如下:

data

[<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 35228 entries, 2013-03-28 00:00:07.089000+02:00 to 2013-03-28 18:59:20.357000+02:00
Data columns:
Price       4040  non-null values
Volume      4040  non-null values
BidQty      35228  non-null values
BidPrice    35228  non-null values
AskPrice    35228  non-null values
AskQty      35228  non-null values
dtypes: float64(6),
<class 'pandas.core.frame.DataFrame'>

DatetimeIndex: 33088 entries, 2013-04-01 00:03:17.047000+02:00 to 2013-04-01 18:59:58.175000+02:00
Data columns:
Price       3969  non-null values
Volume      3969  non-null values
BidQty      33088  non-null values
BidPrice    33088  non-null values
AskPrice    33088  non-null values
AskQty      33088  non-null values
dtypes: float64(6),
<class 'pandas.core.frame.DataFrame'> …
Run Code Online (Sandbox Code Playgroud)

python pandas

51
推荐指数
4
解决办法
7万
查看次数

为什么append在此代码中没有返回?

list = [1, 2, 3]
print list.append(4)   ## WRONG, print does not work, append() returns None

## RIGHT:
list.append(4)
print list  ## [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我正在学习Python,我不确定这个问题是否特定于语言以及如何在Python中实现append.

python list append nonetype

49
推荐指数
3
解决办法
5万
查看次数

如何在pandas数据帧中添加额外的行

如果我有一个空的数据帧:

columns = ['Date', 'Name', 'Action','ID']
df = pd.DataFrame(columns=columns) 
Run Code Online (Sandbox Code Playgroud)

有没有办法将新行附加到这个新创建的数据框?目前我必须创建一个字典,填充它,然后在最后将字典附加到数据框.有更直接的方式吗?

python pandas

41
推荐指数
3
解决办法
12万
查看次数

使用 pandas DataFrame 初始化一个类并填充它

我正在尝试创建一个继承 pandas DataFrame 的类,并进行一些修改。然而,它并没有按预期工作。

import pandas as pd
class result(pd.DataFrame):
    def __init__(self, x):
        pd.DataFrame.__init__(self)
        j = pd.DataFrame({'a': x})
        print(x)
        print(j)
        self.append(j)
Run Code Online (Sandbox Code Playgroud)

结果:

>>> k = result([2,4])
[2, 4]
   a
0  2
1  4
>>> print(k)
Empty result
Columns: []
Index: []
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,不知何故,返回值没有附加j. 为了进行比较,请观察何时jk未在类中定义:

>>> k = pd.DataFrame()
>>> j = pd.DataFrame({'a': [2,4]})
>>> print(k.append(j))
   a
0  2
1  4
Run Code Online (Sandbox Code Playgroud)

是什么导致了这种差异?result如果我想将参数x附加到 中,我应该在其中写什么j

提前谢谢了!

python class pandas

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×5

pandas ×4

append ×1

class ×1

dataframe ×1

list ×1

nonetype ×1