📅  最后修改于: 2023-12-03 15:37:36.805000             🧑  作者: Mango
Pandas 是一个非常强大的数据处理库,它允许程序员以一种更加简便的方式对数据进行处理和分析。 DataFrame 是 Pandas 库中一种非常重要的数据类型,它类似于 Excel 中的表格,程序员可以在其中存储和操纵数据。在这里,我们将介绍如何在 Pandas DataFrame 中处理行和列。
在处理 DataFrame 之前,首先需要创建一个 DataFrame。可以使用多种方式创建 DataFrame,例如从 CSV 文件中读取数据、从字典或列表创建等。下面是一些创建 DataFrame 的示例代码:
import pandas as pd
# 从 CSV 文件中创建 DataFrame
df = pd.read_csv("data.csv")
# 从字典创建 DataFrame
data = {"name": ["Alice", "Bob", "Charlie", "David"],
"age": [25, 30, 35, 40]}
df = pd.DataFrame(data)
# 从列表创建 DataFrame
data = [["Alice", 25], ["Bob", 30], ["Charlie", 35], ["David", 40]]
df = pd.DataFrame(data, columns=["name", "age"])
创建了 DataFrame 后,就可以开始访问其中的行和列。首先,我们可以使用 loc
方法访问 DataFrame 中的特定行,格式为df.loc[row_index]
。例如:
import pandas as pd
data = {"name": ["Alice", "Bob", "Charlie", "David"],
"age": [25, 30, 35, 40]}
df = pd.DataFrame(data)
# 访问第二行
print(df.loc[1])
输出:
name Bob
age 30
Name: 1, dtype: object
我们还可以使用 iloc
方法访问 DataFrame 中的一组行或一组列,格式为df.iloc[row_indices, column_indices]
。例如:
import pandas as pd
data = {"name": ["Alice", "Bob", "Charlie", "David"],
"age": [25, 30, 35, 40]}
df = pd.DataFrame(data)
# 访问第二和第三行,以及第一列
print(df.iloc[1:3, 0])
输出:
1 Bob
2 Charlie
Name: name, dtype: object
对 DataFrame 进行访问之后,我们还可以对其中的数据进行过滤和操作。例如,可以使用条件表达式过滤 DataFrame 中的数据,格式为df[condition]
。例如:
import pandas as pd
data = {"name": ["Alice", "Bob", "Charlie", "David"],
"age": [25, 30, 35, 40]}
df = pd.DataFrame(data)
# 过滤出大于 30 岁的数据
print(df[df["age"] > 30])
输出:
name age
2 Charlie 35
3 David 40
除了过滤之外,我们还可以使用一些 Pandas 提供的函数对 DataFrame 中的数据进行操作。例如,可以使用mean()
函数计算平均值:
import pandas as pd
data = {"name": ["Alice", "Bob", "Charlie", "David"],
"age": [25, 30, 35, 40]}
df = pd.DataFrame(data)
# 计算年龄的平均值
print(df["age"].mean())
输出:
32.5
最后,我们可以在 DataFrame 中修改数据。例如,可以使用loc
方法将 DataFrame 中的某个值修改为其他值,格式为df.loc[row_index, column_name] = new_value
。例如:
import pandas as pd
data = {"name": ["Alice", "Bob", "Charlie", "David"],
"age": [25, 30, 35, 40]}
df = pd.DataFrame(data)
# 修改第一个元素
df.loc[0, "age"] = 26
print(df)
输出:
name age
0 Alice 26
1 Bob 30
2 Charlie 35
3 David 40
以上就是在 Pandas DataFrame 中处理行和列的一些基本操作。它们只是 Pandas DataFrame 中众多操作的冰山一角,如果你想更深入了解 Pandas,还需要深入学习。