创建 Pandas DataFrame
Pandas 是一个强大的 Python 数据分析库,它提供了高效的数据结构和数据分析工具。其中,DataFrame 是 Pandas 中最核心的数据结构之一,它是一个二维的、表格型的数据结构,可以存储不同类型的数据,并且具有灵活的数据操作能力。本文将详细介绍如何使用 Pandas 创建 DataFrame,并提供多个示例代码来展示不同的创建方法。
1. 从列表创建 DataFrame
可以通过将列表转换为 DataFrame 来创建数据框。这是最简单的创建方式之一。
import pandas as pd
data = [['Alex', 10], ['Bob', 12], ['Clarke', 13]]
df = pd.DataFrame(data, columns=['Name', 'Age'])
print(df)
Output:
2. 从字典创建 DataFrame
字典的键将作为列名,值的列表将作为数据。
import pandas as pd
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'],
'Age': [28, 34, 29, 42]}
df = pd.DataFrame(data)
print(df)
Output:
3. 从字典列表创建 DataFrame
每个字典代表一行数据,字典的键是列名,值是数据值。
import pandas as pd
data = [{'Name': 'Tom', 'Age': 28},
{'Name': 'Jack', 'Age': 34},
{'Name': 'Steve', 'Age': 29}]
df = pd.DataFrame(data)
print(df)
Output:
4. 使用 zip
函数创建 DataFrame
可以将多个列表组合成一个列表,然后创建 DataFrame。
import pandas as pd
names = ['Tom', 'Jack', 'Steve', 'Ricky']
ages = [28, 34, 29, 42]
data = list(zip(names, ages))
df = pd.DataFrame(data, columns=['Name', 'Age'])
print(df)
Output:
5. 从 NumPy 数组创建 DataFrame
如果你在使用 NumPy 进行科学计算,也可以直接将 NumPy 数组转换为 DataFrame。
import pandas as pd
import numpy as np
data = np.array([['Tom', 28], ['Jack', 34], ['Steve', 29]])
df = pd.DataFrame(data, columns=['Name', 'Age'])
print(df)
Output:
6. 从 CSV 文件创建 DataFrame
Pandas 提供了读取 CSV 文件的功能,可以直接将 CSV 文件内容读入 DataFrame。
import pandas as pd
df = pd.read_csv('pandasdataframe.com_data.csv')
print(df)
7. 从 Excel 文件创建 DataFrame
类似于 CSV,Pandas 也支持从 Excel 文件读取数据。
import pandas as pd
df = pd.read_excel('pandasdataframe.com_data.xlsx')
print(df)
8. 从 SQL 数据库创建 DataFrame
如果数据存储在数据库中,Pandas 可以直接从 SQL 数据库读取数据。
import pandas as pd
import sqlite3
conn = sqlite3.connect('pandasdataframe.com_example.db')
df = pd.read_sql_query("SELECT * FROM my_table", conn)
print(df)
9. 设置索引列
在创建 DataFrame 时,可以指定某一列作为索引。
import pandas as pd
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'],
'Age': [28, 34, 29, 42]}
df = pd.DataFrame(data)
df.set_index('Name', inplace=True)
print(df)
Output:
10. 使用 pd.date_range
创建时间序列数据
Pandas 强大的时间序列工具允许你轻松处理时间数据。
import pandas as pd
dates = pd.date_range(start='20230101', periods=6)
data = pd.DataFrame({'Date': dates, 'Value': range(6)})
print(data)
Output:
以上是创建 Pandas DataFrame 的一些常见方法。通过这些示例,你可以看到 Pandas 提供了多种灵活的方式来创建和处理数据。无论是从简单的列表到复杂的数据库,Pandas 都能提供相应的工具来帮助数据分析师高效地处理数据。