Pandas DataFrame属性及其设置

文章目录

  • 什么是DataFrame?
  • 创建DataFrame
    • 1. 从列表或字典创建
    • 2. 从CSV文件导入
    • 3. 从SQL数据库查询结果导入
  • DataFrame的属性
    • 1. shape
    • 2. columns
    • 3. index
    • 4. dtypes
    • 5. info()
    • 6. describe()
  • 设置DataFrame属性
    • 1. 设置列标签
    • 2. 设置行标签
    • 3. 更改数据类型
    • 4. 更改列名
    • 5. 删除列

什么是DataFrame?

DataFrame是Pandas中的一个二维数据结构,类似于电子表格或SQL表格。它由行和列组成,每一列可以包含不同的数据类型(整数、浮点数、字符串等),并且可以进行数据操作和分析。DataFrame通常用于存储和处理结构化数据,如CSV文件、SQL查询结果等。

创建DataFrame

使用以下方法来创建一个DataFrame:

1. 从列表或字典创建

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)

2. 从CSV文件导入

import pandas as pd

# 从CSV文件导入数据
df = pd.read_csv('data.csv')

3. 从SQL数据库查询结果导入

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)

DataFrame的属性

1. shape

shape属性返回DataFrame的维度,即行数和列数。它以元组的形式返回,第一个元素是行数,第二个元素是列数。

print(df.shape)  # 输出 (3, 3) 表示有3行和3列

2. columns

columns属性返回DataFrame的列标签,以一个列表形式返回。

print(df.columns)  # 输出 ['Name', 'Age', 'City'],列标签为Name、Age和City

3. index

index属性返回DataFrame的行标签,以一个列表形式返回。

print(df.index)  # 输出 [0, 1, 2],行标签默认为0、1、2

4. dtypes

dtypes属性返回DataFrame中每列的数据类型。

print(df.dtypes)
# 输出
# Name     object
# Age       int64
# City     object
# dtype: object

5. info()

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

6. describe()

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

设置DataFrame属性

1. 设置列标签

使用columns属性来设置DataFrame的列标签。

df.columns = ['EmployeeName', 'EmployeeAge', 'EmployeeCity']

2. 设置行标签

使用index属性来设置DataFrame的行标签。

df.index = ['A', 'B', 'C']

3. 更改数据类型

使用astype()方法来更改DataFrame中某一列的数据类型。

df['EmployeeAge'] = df['EmployeeAge'].astype(float)

4. 更改列名

使用rename()方法来更改列的名称。

df.rename(columns={'EmployeeName': 'Name', 'EmployeeAge': 'Age', 'EmployeeCity': 'City'}, inplace=True)

5. 删除列

使用drop()方法来删除DataFrame中的列。

df.drop(columns=['City'], inplace=True)