pandas数据选择

编程

loc

loc是使用索引名称和列名称选择行列的,接收2个参数,第一个参数用于选择索引,第二个参数用于选择列。

import pandas as pd

import numpy as np

# 设置种子,让每次测试数据一样

np.random.seed(147258)

dates = pd.date_range("20200101", periods=5)

# 数据范围[0,20) 5行4列 二维数组

data = np.random.randint(0, 20, (5, 4))

df = pd.DataFrame(data, index=dates, columns=list("ABCD"))

print(df)

print("--------------------")

# 索引为20200101的A、B两列

print(df.loc["20200101", ["A", "B"]])

print("--------------------")

# 所有行的A、C两列

print(df.loc[:, ["A", "C"]])

print("--------------------")

# 索引"20200101"到"20200103"行,A到C列

print(df.loc["20200101":"20200103", "A":"C"])

print("--------------------")

# "20200101":"20200103"行,所有列

print(df.loc["20200101":"20200103", :])

print("--------------------")

# 指定行指定列

print(df.loc["20200101", "A"])

iloc

iloc和loc基本一致,不过不是使用名称,而是使用位置来选择,位置从0开始。

import pandas as pd

import numpy as np

# 设置种子,让每次测试数据一样

np.random.seed(147258)

dates = pd.date_range("20200101", periods=5)

# 数据范围[0,20) 5行4列 二维数组

data = np.random.randint(0, 20, (5, 4))

df = pd.DataFrame(data, index=dates, columns=list("ABCD"))

print(df)

print("--------------------")

# 第一行

print(df.iloc[0])

print("--------------------")

# 所有行的前两列

print(df.iloc[:, 0:2])

print("--------------------")

# 前2行 所有列

print(df.iloc[0:2, :])

print("--------------------")

# 2到5行 0到2列

print(df.iloc[1:4, 0:2])

print("--------------------")

# 2、3、5行,2、4列

print(df.iloc[[1, 2, 4], [1,3]])

print("--------------------")

# 指定行指定列,1行1列

print(df.iloc[0, 0])

iat与at

at用于选定指定行指定列的值,at是通过名称选择,iat是通过位置选择

import pandas as pd

import numpy as np

# 设置种子,让每次测试数据一样

np.random.seed(147258)

dates = pd.date_range("20200101", periods=5)

# 数据范围[0,20) 5行4列 二维数组

data = np.random.randint(0, 20, (5, 4))

df = pd.DataFrame(data, index=dates, columns=list("ABCD"))

print(df)

print("--------------------")

print(df.at["20200101", "A"])

print(df.iat[0, 0])

简写

import pandas as pd

import numpy as np

# 设置种子,让每次测试数据一样

np.random.seed(147258)

dates = pd.date_range("20200101", periods=5)

# 数据范围[0,20) 5行4列 二维数组

data = np.random.randint(0, 20, (5, 4))

df = pd.DataFrame(data, index=dates, columns=list("ABCD"))

print(df)

print("--------------------")

# B列

print(df["B"])

print("--------------------")

# C与D列

print(df[["C", "D"]])

print("--------------------")

# 前3行

print(df[0:3])

print("--------------------")

# "20200101"到"20200103"行

print(df["20200101":"20200103"])

以上是 pandas数据选择 的全部内容, 来源链接: utcz.com/z/512252.html

回到顶部