返回

pandas之DataFrame数据结构全面解析

见解分享

一、创建DataFrame

DataFrame可以通过多种方式创建。最简单的方法是使用pd.DataFrame()函数,它可以将一个列表、元组、字典或NumPy数组转换为DataFrame。

import pandas as pd

# 使用列表创建DataFrame
data = [['tom', 10], ['jack', 15], ['lily', 20]]
df = pd.DataFrame(data, columns=['name', 'age'])

# 使用元组创建DataFrame
data = (('tom', 10), ('jack', 15), ('lily', 20))
df = pd.DataFrame(data, columns=['name', 'age'])

# 使用字典创建DataFrame
data = {'name': ['tom', 'jack', 'lily'], 'age': [10, 15, 20]}
df = pd.DataFrame(data)

# 使用NumPy数组创建DataFrame
data = np.array([['tom', 10], ['jack', 15], ['lily', 20]])
df = pd.DataFrame(data, columns=['name', 'age'])

二、索引和切片

DataFrame具有行索引和列索引。行索引是一个整数数组,用于标识DataFrame中的每一行。列索引是一个字符串数组,用于标识DataFrame中的每一列。

# 获取DataFrame的行索引
print(df.index)

# 获取DataFrame的列索引
print(df.columns)

# 使用行索引切片DataFrame
df1 = df[0:2]

# 使用列索引切片DataFrame
df2 = df[['name']]

三、数据操作

DataFrame提供了丰富的な操作方法,可以对数据进行各种操作。

# 添加一列
df['gender'] = ['male', 'male', 'female']

# 删除一列
df.drop('gender', axis=1, inplace=True)

# 添加一行
df.loc[3] = ['lucy', 25, 'female']

# 删除一行
df.drop(3, inplace=True)

# 排序
df.sort_values('age', inplace=True)

# 过滤
df = df[df['age'] > 15]

四、数据分析

DataFrame提供了多种数据分析方法,可以对数据进行各种统计分析。

# 计算平均值
df['age'].mean()

# 计算标准差
df['age'].std()

# 计算最大值
df['age'].max()

# 计算最小值
df['age'].min()

# 计算中位数
df['age'].median()

# 计算众数
df['age'].mode()

# 计算相关系数
df.corr()

五、总结

DataFrame是pandas库中一个重要的数据结构,它可以存储和处理多维数据。DataFrame提供了丰富的な操作方法和数据分析方法,可以帮助您快速有效地处理数据。

希望本文对您有所帮助。如果您有任何问题,欢迎留言评论。