设为首页 加入收藏

TOP

pandas选择数据-【老鱼学pandas】(一)
2017-11-20 08:34:55 】 浏览:232
Tags:pandas 选择 数据 鱼学

选择列

根据列名来选择某列的数据

import pandas as pd
import numpy as np
dates = pd.date_range("2017-01-08", periods=6)
data = pd.DataFrame(np.arange(24).reshape(6, 4), index=dates, columns=["A", "B", "C", "D"])
print("data:")
print(data)
# 选择A列数据
print("A列数据:")
print(data["A"])

输出结果:

data:
             A   B   C   D
2017-01-08   0   1   2   3
2017-01-09   4   5   6   7
2017-01-10   8   9  10  11
2017-01-11  12  13  14  15
2017-01-12  16  17  18  19
2017-01-13  20  21  22  23
A列数据:
2017-01-08     0
2017-01-09     4
2017-01-10     8
2017-01-11    12
2017-01-12    16
2017-01-13    20
Freq: D, Name: A, dtype: int32

也可以用点符号来进行:

print(data.A)

上面的功能跟data["A"]一样。

选择某几行数据

import pandas as pd
import numpy as np
dates = pd.date_range("2017-01-08", periods=6)
data = pd.DataFrame(np.arange(24).reshape(6, 4), index=dates, columns=["A", "B", "C", "D"])
print("data:")
print(data)

print("选择0至3行的数据:")
print(data[0:3])

输出为:

data:
             A   B   C   D
2017-01-08   0   1   2   3
2017-01-09   4   5   6   7
2017-01-10   8   9  10  11
2017-01-11  12  13  14  15
2017-01-12  16  17  18  19
2017-01-13  20  21  22  23
选择03行的数据:
            A  B   C   D
2017-01-08  0  1   2   3
2017-01-09  4  5   6   7
2017-01-10  8  9  10  11

也可以根据索引号范围来选择某几行的数据。
比如,如下的例子中我们就选择出2017-01-10到2017-01-12的数据:

import pandas as pd
import numpy as np
dates = pd.date_range("2017-01-08", periods=6)
data = pd.DataFrame(np.arange(24).reshape(6, 4), index=dates, columns=["A", "B", "C", "D"])
print("data:")
print(data)

print("按照索引选择数据:")
print(data["2017-01-10":"2017-01-12"])

输出为:

data:
             A   B   C   D
2017-01-08   0   1   2   3
2017-01-09   4   5   6   7
2017-01-10   8   9  10  11
2017-01-11  12  13  14  15
2017-01-12  16  17  18  19
2017-01-13  20  21  22  23
按照索引选择数据:
             A   B   C   D
2017-01-10   8   9  10  11
2017-01-11  12  13  14  15
2017-01-12  16  17  18  19

使用loc进行选择

使用loc选择某几行的数据:

import pandas as pd
import numpy as np
dates = pd.date_range("2017-01-08", periods=6)
data = pd.DataFrame(np.arange(24).reshape(6, 4), index=dates, columns=["A", "B", "C", "D"])
print("data:")
print(data)

print("按照索引选择数据:")
print(data.loc["2017-01-10":"2017-01-12"])

输出:

data:
             A   B   C   D
2017-01-08   0   1   2   3
2017-01-09   4   5   6   7
2017-01-10   8   9  10  11
2017-01-11  12  13  14  15
2017-01-12  16  17  18  19
2017-01-13  20  21  22  23
按照索引选择数据:
             A   B   C   D
2017-01-10   8   9  10  11
2017-01-11  12  13  14  15
2017-01-12  16  17  18  19

也可以按照列进行选择数据,比如,我们想要选择其中B和C列的数据:

import pandas as pd
import numpy as np
dates = pd.date_range("2017-01-08", periods=6)
data = pd.DataFrame(np.arange(24).reshape(6, 4), index=dates, columns=["A", "B", "C", "D"])
print("data:")
print(data)

print("选择某两列的数据:")
print(data.loc[:, ["B", "C"]])

输出为:

data:
             A   B   C   D
2017-01-08   0   1   2   3
2017-01-09   4   5   6   7
2017-01-10   8   9  10  11
2017-01-11  12  13  14  15
2017-01-12  16  17  18  19
2017-01-13  20  21  22  23
选择某两列的数据:
             B   C
2017-01-08   1   2
2017-01-09   5   6
2017-01-10   9  10
2017-01-11  13  14
2017-01-12  17  18
2017-01-13  21  22

如果只想选择某几行中某几列的数据,可以对上面的例子进行一下稍微的修改就能实现:

import pandas as pd
import numpy as np
dates = pd.date_range("2017-01-08", periods=6)
data = pd.DataFrame(np.arange(24).r
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇python基础(3)---流程控制 下一篇x01.AntWorld: An Python AI Game

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目