DataFrame是Pandas中的一个二维数据结构,类似于电子表格或SQL表格。它由行和列组成,每一列可以包含不同的数据类型(整数、浮点数、字符串等),并且可以进行数据操作和分析。DataFrame通常用于存储和处理结构化数据,如CSV文件、SQL查询结果等。
使用以下方法来创建一个DataFrame:
import pandas as pd
# 从字典创建DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'Los Angeles']}
df = pd.DataFrame(data)
import pandas as pd
# 从CSV文件导入数据
df = pd.read_csv('data.csv')
import pandas as pd
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('mydatabase.db')
# 执行SQL查询并将结果存储在DataFrame中
query = 'SELECT * FROM employees'
df = pd.read_sql_query(query, conn)
shape
属性返回DataFrame的维度,即行数和列数。它以元组的形式返回,第一个元素是行数,第二个元素是列数。
print(df.shape) # 输出 (3, 3) 表示有3行和3列
columns
属性返回DataFrame的列标签,以一个列表形式返回。
print(df.columns) # 输出 ['Name', 'Age', 'City'],列标签为Name、Age和City
index
属性返回DataFrame的行标签,以一个列表形式返回。
print(df.index) # 输出 [0, 1, 2],行标签默认为0、1、2
dtypes
属性返回DataFrame中每列的数据类型。
print(df.dtypes)
# 输出
# Name object
# Age int64
# City object
# dtype: object
info()
方法提供了有关DataFrame的详细信息,包括非空值的数量、每列的数据类型等。
print(df.info())
# 输出
# <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 3 entries, 0 to 2
# Data columns (total 3 columns):
# # Column Non-Null Count Dtype
# --- ------ -------------- -----
# 0 Name 3 non-null object
# 1 Age 3 non-null int64
# 2 City 3 non-null object
# dtypes: int64(1), object(2)
# memory usage: 256.0+ bytes
describe()
方法生成关于数值列的统计信息,如平均值、标准差、最小值、最大值等。
print(df.describe())
# 输出
# Age
# count 3.000000
# mean 30.000000
# std 5.000000
# min 25.000000
# 25% 27.500000
# 50% 30.000000
# 75% 32.500000
# max 35.000000
使用columns
属性来设置DataFrame的列标签。
df.columns = ['EmployeeName', 'EmployeeAge', 'EmployeeCity']
使用index
属性来设置DataFrame的行标签。
df.index = ['A', 'B', 'C']
使用astype()
方法来更改DataFrame中某一列的数据类型。
df['EmployeeAge'] = df['EmployeeAge'].astype(float)
使用rename()
方法来更改列的名称。
df.rename(columns={'EmployeeName': 'Name', 'EmployeeAge': 'Age', 'EmployeeCity': 'City'}, inplace=True)
使用drop()
方法来删除DataFrame中的列。
df.drop(columns=['City'], inplace=True)