关键词

pandas DataFrame 数据选取,修改,切片的实现

Pandas DataFrame数据选取、修改和切片

数据选取

单列选取

选取DataFrame中的单列数据,可以使用列名或列序号两种方式。

使用列名选取:

import pandas as pd

data = {'Name': ['Amy', 'Bob', 'Cathy', 'David'], 'Age': [24, 25, 22, 23], 'Sex': ['Female', 'Male', 'Female', 'Male']}
df = pd.DataFrame(data)

# 使用列名选取单列数据
name = df['Name']

print(name)

输出结果:

0      Amy
1      Bob
2    Cathy
3    David
Name: Name, dtype: object

使用列序号选取:

# 使用列序号选取单列数据
age = df.iloc[:, 1]

print(age)

输出结果:

0    24
1    25
2    22
3    23
Name: Age, dtype: int64

多列选取

选取DataFrame中的多列数据,可以使用列名或列序号两种方式。

使用列名选取:

# 使用列名选取多列数据
selected = df[['Name', 'Sex']]

print(selected)

输出结果:

    Name     Sex
0    Amy  Female
1    Bob    Male
2  Cathy  Female
3  David    Male

使用列序号选取:

# 使用列序号选取多列数据
selected = df.iloc[:, [0, 2]]

print(selected)

输出结果:

    Name     Sex
0    Amy  Female
1    Bob    Male
2  Cathy  Female
3  David    Male

行选取

选取DataFrame中的行数据,可以使用行号或行索引两种方式。

使用行号选取:

# 使用行号选取单行数据
row = df.iloc[0]

print(row)

输出结果:

Name        Amy
Age          24
Sex      Female
Name: 0, dtype: object

使用行索引选取:

# 使用行索引选取单行数据
row = df.loc[0]

print(row)

输出结果:

Name        Amy
Age          24
Sex      Female
Name: 0, dtype: object

选取多行数据:

# 选取多行数据
selected = df.iloc[[0, 2]]

print(selected)

输出结果:

    Name  Age     Sex
0    Amy   24  Female
2  Cathy   22  Female

数据修改

修改单元格数据

修改单元格数据,可以使用行号和列号、行索引和列名两种方式,具体使用哪种方式需要根据实际情况选择。

以“行索引和列名”为例:

# 修改单元格数据(行索引和列名)
df.loc[0, 'Age'] = 30

print(df)

输出结果:

    Name  Age     Sex
0    Amy   30  Female
1    Bob   25    Male
2  Cathy   22  Female
3  David   23    Male

修改列数据

修改列数据,直接使用列名和赋值即可。

# 修改列数据
df['Age'] = [30, 25, 22, 23]

print(df)

输出结果:

    Name  Age     Sex
0    Amy   30  Female
1    Bob   25    Male
2  Cathy   22  Female
3  David   23    Male

修改行数据

修改行数据,可以使用行索引和赋值的方式。

# 修改行数据
df.iloc[0] = ['Amy', 25, 'Male']

print(df)

输出结果:

    Name  Age   Sex
0    Amy   25  Male
1    Bob   25  Male
2  Cathy   22  Male
3  David   23  Male

数据切片

切片选取行数据

选取DataFrame中的行数据,可以使用切片方式。

# 使用切片选取行数据
selected = df[1:3]

print(selected)

输出结果:

    Name  Age   Sex
1    Bob   25  Male
2  Cathy   22  Male

切片选取列数据

选取DataFrame中的列数据,可以使用切片方式。

# 使用切片选取列数据
selected = df.loc[:, 'Name':'Age']

print(selected)

输出结果:

    Name  Age
0    Amy   25
1    Bob   25
2  Cathy   22
3  David  23

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

展开阅读全文