📜  Python - 按列名对数据帧进行子集(1)

📅  最后修改于: 2023-12-03 15:18:52.524000             🧑  作者: Mango

Python - 按列名对数据帧进行子集

在数据科学和数据分析中,通常需要对数据进行子集。在pandas中,按列名对数据帧进行子集操作是一项常见任务。这个操作可以非常方便地获得你需要的数据子集并进行后续分析。

1. 按列名选择单列

要选取单列,在方括号中指定列名即可:

import pandas as pd

# 创建一个数据帧
data = {'名字': ['Alice', 'Bob', 'Charlie'], '年龄': [25, 32, 18], '工资': [5000, 7000, 4500]}
df = pd.DataFrame(data)

# 按列名选择单列
age = df['年龄']
print(age)

# 输出结果
# 0    25
# 1    32
# 2    18
# Name: 年龄, dtype: int64
2. 按列名选择多列

要选择多列,只需在方括号中传入列名列表即可:

import pandas as pd

# 创建一个数据帧
data = {'名字': ['Alice', 'Bob', 'Charlie'], '年龄': [25, 32, 18], '工资': [5000, 7000, 4500]}
df = pd.DataFrame(data)

# 按列名选择多列
sub_df = df[['名字', '工资']]
print(sub_df)

# 输出结果
#        名字    工资
# 0   Alice  5000
# 1     Bob  7000
# 2  Charlie  4500
3. 按列名子集选择行

在某些情况下,我们可能需要跨越多个列子集选择行。假设我们要选择所有年龄大于30岁且工资高于5000的人:

import pandas as pd

# 创建一个数据帧
data = {'名字': ['Alice', 'Bob', 'Charlie'], '年龄': [25, 32, 18], '工资': [5000, 7000, 4500]}
df = pd.DataFrame(data)

# 按列名子集选择行
sub_df = df[(df['年龄'] > 30) & (df['工资'] > 5000)]
print(sub_df)

# 输出结果
#    名字  年龄    工资
# 1  Bob  32  7000
4. 按条件选择列

在某些情况下,我们可能需要根据某些条件选择列。假设我们要选择所有年龄大于30岁的人的名字和年龄:

import pandas as pd

# 创建一个数据帧
data = {'名字': ['Alice', 'Bob', 'Charlie'], '年龄': [25, 32, 18], '工资': [5000, 7000, 4500]}
df = pd.DataFrame(data)

# 按条件选择列
sub_df = df.loc[df['年龄'] > 30, ['名字', '年龄']]
print(sub_df)

# 输出结果
#     名字  年龄
# 1   Bob  32

以上就是按列名对数据帧进行子集的操作。选取数据子集是数据分析的重要步骤,而pandas对这种操作提供了很好的支持,可以大大简化我们的工作流程。