赞
踩
Pandas 是一个强大的数据分析库,它提供了丰富的数据结构和数据分析工具,其中之一是用于读取不同格式文件的 read_*
函数系列。以下是一个简单介绍如何使用 Pandas 读取常见文件格式的示例:
读取 Excel 文件:
import pandas as pd
# 读取 Excel 文件的第一个表格
df = pd.read_excel('文件路径.xlsx')
# 打印数据框的前几行
print(df.head())
在 Pandas 中,可以使用多种方式来查看 Excel 文件中的 DataFrame 数据以及数据类型。以下是一些常见的方法:
查看前几行数据(或者后几行):
使用 head()
函数可以查看 DataFrame 的前几行数据,默认是前五行。你可以通过传递参数来指定显示的行数。
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('文件路径.xlsx')
# 查看前五行数据
print(df.head(5))
# 查看后5行
print(df.tail(5))
查看数据类型:
使用 dtypes
属性可以查看 DataFrame 中每一列的数据类型。
# 查看数据类型
print(df.dtypes)
查看统计摘要:
使用 describe()
函数可以生成关于数值列的统计摘要,包括均值、标准差、最小值、25%,50%,75% 以及最大值。
# 查看统计摘要
print(df.describe())
查看单一列的唯一值:
如果想了解某一列的唯一值,可以使用 unique()
函数。
# 查看某一列的唯一值
unique_values = df['列名'].unique()
print(unique_values)
查看整个 DataFrame 的信息:
使用 info()
函数可以查看 DataFrame 的整体信息,包括每列的非空值数量、数据类型等。
# 查看整个 DataFrame 的信息
print(df.info())
这些方法可以帮助你快速了解 Excel 文件中的数据,其结构以及数据类型。根据需要,选择适当的方法来查看和理解数据。
当选择 DataFrame 中的数据时,下面是每个用法的简单例子:
选择列:
# 创建一个简单的 DataFrame
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'Los Angeles']}
df = pd.DataFrame(data)
# 通过列名选择单列
single_column = df['Name']
选择多列:
# 选择多列
multiple_columns = df[['Name', 'Age']]
选择行:
# 通过标签索引选择单行
single_row_by_label = df.loc[0]
# 通过整数索引选择单行
single_row_by_integer = df.iloc[0]
选择特定条件的行:
# 选择满足条件的行
selected_rows = df[df['Age'] > 25]
组合选择:
# 组合条件选择
selected_data = df[(df['Age'] > 25) & (df['City'] == 'San Francisco')]
选择特定位置的元素:
# 通过标签索引选择元素
element_by_label = df.at[0, 'Name']
# 通过整数索引选择元素
element_by_integer = df.iat[0, 0]
这些例子演示了如何使用 Pandas 对 DataFrame 进行简单的数据选择。你可以根据具体的数据和需求,灵活运用这些方法。
在 Pandas 中,数据筛选是通过选择满足特定条件的行或列来进行的。以下是一些常见的数据筛选用法:
根据条件筛选行:
通过设定条件来选择 DataFrame 中满足条件的行。
# 创建一个简单的 DataFrame
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'Los Angeles']}
df = pd.DataFrame(data)
# 选择年龄大于 30 的行
filtered_rows = df[df['Age'] > 30]
使用 isin
方法筛选行:
使用 isin
方法可以选择某一列中包含特定值的行。
# 选择居住在指定城市的行
selected_cities = df[df['City'].isin(['New York', 'Los Angeles'])]
根据多个条件组合筛选行:
使用逻辑运算符 &
(与)、|
(或)、~
(非)等来组合多个条件。
# 选择年龄大于 25 且居住在 'San Francisco' 的行
selected_data = df[(df['Age'] > 25) & (df['City'] == 'San Francisco')]
根据字符串条件筛选行:
使用字符串方法,如 str.contains
,可以在文本列中筛选包含特定字符串的行。
# 选择包含 'Bob' 的行
selected_rows = df[df['Name'].str.contains('Bob')]
根据索引标签筛选行:
使用 loc
方法根据索引标签筛选行。
# 设置 'Name' 列为索引列
df.set_index('Name', inplace=True)
# 选择 'Bob' 的行
selected_row = df.loc['Bob']
根据列值筛选列:
使用列名来选择特定的列。
# 选择 'Name' 和 'Age' 列
selected_columns = df[['Name', 'Age']]
这些例子展示了在 Pandas 中进行数据筛选的常见用法。你可以根据实际情况和需求,使用这些方法进行灵活的数据筛选。
在 Pandas 中,创建新列可以通过给 DataFrame 分配新的列名,并使用已有列的数据或进行一些计算得到新的列值。以下是一些常见的创建新列的方法:
使用已有列进行计算创建新列:
# 创建一个简单的 DataFrame
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'Los Angeles']}
df = pd.DataFrame(data)
# 使用已有列 'Age' 创建一个新列 'Age_in_2_years'
df['Age_in_2_years'] = df['Age'] + 2
使用函数进行计算创建新列:
可以使用函数对 DataFrame 的一列进行操作,并将结果存储在新列中。
# 创建一个函数,用于计算字符串长度
def calculate_name_length(name):
return len(name)
# 使用函数创建新列 'Name_Length'
df['Name_Length'] = df['Name'].apply(calculate_name_length)
使用条件语句创建新列:
可以使用条件语句根据某一列的值创建新的列。
# 使用条件语句创建新列 'Is_Adult'
df['Is_Adult'] = df['Age'] >= 18
根据多列创建新列:
使用多个已有列的数据进行计算,并创建新的列。
# 使用 'Age' 和 'Name_Length' 列创建新列 'Combined_Column'
df['Combined_Column'] = df['Age'] * df['Name_Length']
使用 assign
方法创建新列:
使用 assign
方法可以链式操作,一次性创建多个新列。
# 使用 assign 方法创建多个新列
df = df.assign(Double_Age=df['Age'] * 2, Triple_Age=df['Age'] * 3)
这些方法提供了多种灵活的方式来创建新列,根据你的需求选择适当的方法。创建新列时,考虑数据的来源、计算逻辑以及新列的名称。
在 Pandas 中,可以使用一些内建的函数来计算总结数据,包括均值、中位数、标准差等。以下是一些常见的计算总结数据的方法:
计算列的均值:
# 计算 'Age' 列的均值
mean_age = df['Age'].mean()
计算列的中位数:
# 计算 'Age' 列的中位数
median_age = df['Age'].median()
计算列的标准差:
# 计算 'Age' 列的标准差
std_dev_age = df['Age'].std()
计算列的总和:
# 计算 'Age' 列的总和
sum_age = df['Age'].sum()
计算列的最小值和最大值:
# 计算 'Age' 列的最小值和最大值
min_age = df['Age'].min()
max_age = df['Age'].max()
使用 describe
方法获取统计摘要:
# 使用 describe 方法获取数值列的统计摘要
summary_stats = df.describe()
计算唯一值的数量:
# 计算 'City' 列中唯一值的数量
unique_cities_count = df['City'].nunique()
计算唯一值及其出现次数:
# 计算 'City' 列中每个唯一值的出现次数
city_counts = df['City'].value_counts()
这些方法提供了对数据集进行各种总结统计的途径。具体选择哪种方法取决于你关心的统计信息。可以根据实际需求选择适当的函数进行计算。
在 Pandas 中,分组统计是一种强大的数据分析工具,允许你根据某一列或多列的值对数据进行分组,然后对每个组进行统计。以下是一些常见的分组统计的方法:
按单一列分组并计算统计量:
# 创建一个简单的 DataFrame
import pandas as pd
data = {'Category': ['A', 'B', 'A', 'B', 'A', 'B'],
'Value': [10, 20, 30, 15, 25, 18]}
df = pd.DataFrame(data)
# 按 'Category' 列分组,并计算每组的均值
group_means = df.groupby('Category')['Value'].mean()
按多列分组并计算统计量:
# 创建一个带有多列的 DataFrame
data = {'Category': ['A', 'B', 'A', 'B', 'A', 'B'],
'City': ['X', 'Y', 'X', 'Y', 'X', 'Y'],
'Value': [10, 20, 30, 15, 25, 18]}
df = pd.DataFrame(data)
# 按 'Category' 和 'City' 列分组,并计算每组的均值
group_means = df.groupby(['Category', 'City'])['Value'].mean()
同时计算多个统计量:
# 同时计算均值和标准差
group_stats = df.groupby('Category')['Value'].agg(['mean', 'std'])
使用 agg
方法应用多个函数:
# 使用 agg 方法应用不同的统计函数
custom_stats = df.groupby('Category')['Value'].agg(['sum', 'mean', 'count'])
使用 apply
方法应用自定义函数:
# 使用 apply 方法应用自定义函数
def custom_function(group):
return group.max() - group.min()
custom_result = df.groupby('Category')['Value'].apply(custom_function)
透视表(Pivot Table):
# 使用透视表计算 'City' 列和 'Category' 列的均值
pivot_table = df.pivot_table(values='Value', index='Category', columns='City', aggfunc='mean')
这些方法提供了丰富的分组统计功能,可以根据不同的需求进行定制化。分组统计对于理解数据的分布、进行对比分析等方面都非常有用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。