关键词

Python Pandas如何获取和修改任意位置的值(at,iat,loc,iloc)

Python Pandas可以使用四种方式获取和修改任意位置的值,包括at、iat、loc和iloc。这四种方法都是用于定位数据表中某个位置的行和列,它们的使用情况取决于所需操作的位置,数据类型和性能要求。

at:

at方法用于检索DataFrame中指定行列位置的值,行和列都根据行数和列数指定。它可以直接使用列名来查找列,使用行索引来查找行,例如:

import pandas as pd

data = {"age": [25, 30, 35], "name": ["Tom", "Jack", "Alex"]}
df = pd.DataFrame(data)

df.at[0, "age"]  # 返回25

在这个例子中,我们在DataFrame的第一行和“age”列中查找值,得到25。

iat:

iat方法与at方法类似,但是它使用整数位置来指定行和列,与索引无关。例如:

import pandas as pd

data = {"age": [25, 30, 35], "name": ["Tom", "Jack", "Alex"]}
df = pd.DataFrame(data)

df.iat[0, 0]  # 返回 25

在这个例子中,我们在DataFrame的第一行和第一列中查找值,即25。

loc:

loc方法用于按行标签\索引和列标签\索引访问数据,例如:

import pandas as pd

data = {"age": [25, 30, 35], "name": ["Tom", "Jack", "Alex"]}
df = pd.DataFrame(data, index=["A", "B", "C"])

df.loc["A", "age"]  # 返回25

在这个例子中,我们在DataFrame中的“A”行和“age”列中查找值,即25。

iloc:

iloc方法与loc方法类似,但用于整数位置访问,例如:

import pandas as pd

data = {"age": [25, 30, 35], "name": ["Tom", "Jack", "Alex"]}
df = pd.DataFrame(data)

df.iloc[0, 0]  # 返回25

在这个例子中,我们在DataFrame的第一行和第一列中查找值,即25。

四种方法的使用场景:

  • at:用于获取单个值
  • iat:性能优于at,尤其是在大数据集时,但是需要使用整数位置
  • loc:用于根据标签获取任意多行或列的子集
  • iloc:性能优于loc,尤其是在大数据集时,但是需要使用整数位置

以上四种方法可以同时用于获取单个值和修改值。例如:

import pandas as pd

data = {"age": [25, 30, 35], "name": ["Tom", "Jack", "Alex"]}
df = pd.DataFrame(data)

df.at[0, "age"] = 26
df.loc[0, "age"] = 27

print(df)

在这个例子中,我们使用at方法和loc方法将第一行的“age”列值分别修改为26和27。最终结果如下:

   age  name
0   27   Tom
1   30  Jack
2   35  Alex

总之,使用这四种方法可以轻松获取和修改Python Pandas数据表中的任意位置的值。

本文链接:http://task.lmcjl.com/news/14518.html

展开阅读全文