从系列获取索引和值

在熊猫的选择和索引编制方面,我有些慢.

我有一个“日期时间”序列,我试图从中选择某些元素及其日期时间索引,以便将它们附加到新序列中.
例:

import pandas as pd

x=pd.Series([11,12,13,14,15,16,17,18,19,20])
for i in range(len(x)):
    print x.ix[i]

给出输出:

runfile('C:/Users/AClayton/WinPython-64bit-2.7.5.3/python-2.7.5.amd64/untitled6.py', wdir='C:/Users/AClayton/WinPython-64bit-2.7.5.3/python-2.7.5.amd64')
11
12
13
14
15
16
17
18
19
20

我想要输出

1  11
2  12
3  13
4  14
5  15
etc

无论如何也要获取索引? (我不仅要打印它,还想将一些内容附加到新的序列中.例如,将所有可被二整除的数字与索引一起添加到一个序列中).

抱歉,这很明显,已经很忙了.

解决方法:

要获得索引和值,可以遍历序列.请注意,默认索引从0开始,而不是从1:

>>> for i, v in x.iteritems():
...    print i, v
...
0 11
1 12
2 13
3 14
4 15
5 16
6 17
7 18
8 19
9 20

确保您可以将自定义索引分配给系列:

>>> x.index = range(1, 6)*2
>>> for i, v in x.iteritems():
...    print i, v
...
1 11
2 12
3 13
4 14
5 15
1 16
2 17
3 18
4 19
5 20

不要完全理解“我想在新系列中添加一些内容”的含义,但是可以使用index属性访问index:

>>> x.index
Int64Index([1, 2, 3, 4, 5, 1, 2, 3, 4, 5], dtype='int64')

或将其分成系列,制作一个数据框:

>>> x.reset_index()
   index   0
0      1  11
1      2  12
2      3  13
3      4  14
4      5  15
5      1  16
6      2  17
7      3  18
8      4  19
9      5  20

[10 rows x 2 columns]
上一篇:是否可以通过A减B索引mysql表以进行排序?


下一篇:如何在MySQL中建立索引?