如果我导入或创建一个不包含空格的pandas列,我可以这样访问它:
df1 = DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'],
'data1': range(7)})
df1.data1
Run Code Online (Sandbox Code Playgroud)
这将为我返回该系列.但是,如果该列的名称中有空格,则无法通过该方法访问该列:
df2 = DataFrame({'key': ['a','b','d'],
'data 2': range(3)})
df2.data 2 # <--- not the droid i'm looking for.
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用.xs()访问它:
df2.xs('data 2', axis=1)
Run Code Online (Sandbox Code Playgroud)
还有的有是另一种方式.我用谷歌搜索它疯了,想不出任何其他方式谷歌它.我在这里阅读了包含"column","string"和"pandas"的所有96条目,并且找不到以前的答案.这是唯一的方法,还是有更好的东西?
谢谢!
我有一个pandas数据框,我填写了这个:
import pandas.io.data as web
test = web.get_data_yahoo('QQQ')
Run Code Online (Sandbox Code Playgroud)
iPython中的数据框如下所示:
In [13]: test
Out[13]:
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 729 entries, 2010-01-04 00:00:00 to 2012-11-23 00:00:00
Data columns:
Open 729 non-null values
High 729 non-null values
Low 729 non-null values
Close 729 non-null values
Volume 729 non-null values
Adj Close 729 non-null values
dtypes: float64(5), int64(1)
Run Code Online (Sandbox Code Playgroud)
当我将一列除以另一列时,我得到一个具有令人满意的小数位数的float64结果.例如,我甚至可以将一列除以一列偏移一列test.Open[1:]/test.Close[:],并获得令人满意的小数位数.然而,当我将列除以偏移量时,我只得到1:
In [83]: test.Open[1:] / test.Close[:]
Out[83]:
Date
2010-01-04 NaN
2010-01-05 0.999354
2010-01-06 1.005635
2010-01-07 1.000866
2010-01-08 0.989689
2010-01-11 1.005393
...
In [84]: test.Open[1:] / …Run Code Online (Sandbox Code Playgroud)