pandas数据选择
loc
loc是使用索引名称和列名称选择行列的,接收2个参数,第一个参数用于选择索引,第二个参数用于选择列。
import pandas as pdimport 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 pdimport 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 pdimport 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 pdimport 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