Pandas 的 DataFrame 是一个二维的、大小可变的、异质型表格数据结构,带有标签化的轴(行和列)。简单来说,你可以将 DataFrame 看作是一个 Excel 表格或 SQL 数据表,在数据分析和数据处理中非常有用。
创建 DataFrame
DataFrame 可以通过多种方式创建,最常用的是直接从字典、列表的列表、或 NumPy 数组创建。
从字典创建
import pandas as pd
data = {
'Column1': [1, 2, 3, 4],
'Column2': ['a', 'b', 'c', 'd'],
'Column3': [1.1, 2.2, 3.3, 4.4]
}
df = pd.DataFrame(data)
从列表的列表创建
data = [
[1, 'a', 1.1],
[2, 'b', 2.2],
[3, 'c', 3.3],
[4, 'd', 4.4]
]
df = pd.DataFrame(data, columns=['Column1', 'Column2', 'Column3'])
从 NumPy 数组创建
import numpy as np
data = np.array([
[1, 'a', 1.1],
[2, 'b', 2.2],
[3, 'c', 3.3],
[4, 'd', 4.4]
])
df = pd.DataFrame(data, columns=['Column1', 'Column2', 'Column3'])
从Series创建
# -*- coding: utf-8 -*-
import pandas as pd
data = {
'Column1': [1, 2, 3, 4],
'Column2': ['a', 'b', 'c', 'd'],
'Column3': [1.1, 2.2, 3.3, 4.4]
}
s = pd.Series(data)
df = pd.DataFrame(data)
确实,对于操作和分析 Pandas DataFrame,了解如何获取和使用其属性是基本且重要的。这些属性提供了有关 DataFrame 的结构和内容的信息,对于数据预处理、分析和可视化都非常有用。下面列出了一些最常用的属性和方法来获取 DataFrame 的属性:
DataFrame 属性
Pandas DataFrame 是用于数据科学和分析的一个强大工具,它提供了一系列属性,使得数据探索、清洗和处理变得更加高效和直观。以下是 DataFrame 的一些核心属性,它们为数据操作和分析提供了基础。
1. dtypes
- 描述:显示每一列数据的数据类型。
- 用法:
df.dtypes - 返回值:Pandas Series,索引为列名,值为每列的数据类型。
2. shape
- 描述:提供
DataFrame的形状,即行数和列数。 - 用法:
df.shape - 返回值:一个元组,第一个元素是行数,第二个元素是列数。
3. index
- 描述:
DataFrame的索引(行标签)。 - 用法:
df.index - 返回值:Pandas Index 对象,包含所有行标签。
4. columns
- 描述:
DataFrame的列名。 - 用法:
df.columns - 返回值:Pandas Index 对象,包含所有列名。
5. values
- 描述:
DataFrame中的数据,以 NumPy 数组的形式返回。 - 用法:
df.values - 返回值:一个 NumPy 数组,包含
DataFrame的数据。
6. size
- 描述:
DataFrame中元素的总数量。 - 用法:
df.size - 返回值:一个整数,等于行数乘以列数。
7. T (转置)
- 描述:
DataFrame的转置版本,即行列互换。 - 用法:
df.T - 返回值:行列互换后的
DataFrame。
8. empty
- 描述:检查
DataFrame是否为空(无行或列)。 - 用法:
df.empty - 返回值:布尔值,如果
DataFrame为空,则返回True;否则返回False。
示例
假设我们有以下 DataFrame:
import pandas as pd
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Salary': [50000, 70000, 80000]
}
df = pd.DataFrame(data)
展示如何使用这些属性:
# 数据类型
print(df.dtypes)
# 形状
print(df.shape)
# 索引
print(df.index)
# 列名
print(df.columns)
# 值
print(df.values)
# 元素总数
print(df.size)
# 转置
print(df.T)
# 是否为空
print(df.empty)
获取DataFrame数据
info()
提供 DataFrame 的概览,包括每列的类型、非空值数量以及内存使用情况。
df.info()
head(n)
查看 DataFrame 的前 n 行数据,默认值为 5。
df.head()
tail(n)
查看 DataFrame 的后 n 行数据,默认值为 5。
df.tail()
describe()
提供 DataFrame 数值列的统计摘要,包括均值、标准差、最小值、最大值等。
df.describe()
示例
假设我们有以下 DataFrame:
import pandas as pd
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Salary': [50000, 70000, 80000]
}
df = pd.DataFrame(data)
获取和查看其属性和统计摘要:
# DataFrame 概览
df.info()
# 查看前几行
print(df.head(2))
# 查看后几行
print(df.tail(2))
# 统计摘要
print(df.describe())