讲解“Python Pandas创建Dataframe数据框的六种方法汇总”的完整攻略。
1. 直接从列表、字典等数据结构创建
可以直接使用pandas.DataFrame()函数来创建DataFrame数据框,具体示例如下:
import pandas as pd
# 从列表创建
lst = [['Alice', 'Female', 22], ['Bob', 'Male', 25], ['Charlie', 'Male', 30]]
df = pd.DataFrame(lst, columns=['Name', 'Gender', 'Age'])
print(df)
# 从字典创建
dic = {'Name': ['Alice', 'Bob', 'Charlie'], 'Gender': ['Female', 'Male', 'Male'], 'Age': [22, 25, 30]}
df = pd.DataFrame(dic)
print(df)
上述代码中,分别使用了列表和字典来创建DataFrame数据框,指定列名后通过print()函数打印输出结果。
2. 读取外部数据文件创建
除了直接创建,还可以通过pandas库提供的read_csv()、read_excel()等函数读取Excel、csv、json等格式的外部数据文件来创建DataFrame数据框,具体示例如下:
import pandas as pd
# 从CSV文件创建
csv_path = 'data.csv'
df = pd.read_csv(csv_path)
# 从Excel文件创建
excel_path = 'data.xlsx'
df = pd.read_excel(excel_path)
上述代码中,分别使用read_csv()和read_excel()函数读取外部数据文件data.csv和data.xlsx,并将读取结果赋值给DataFrame数据框df。
3. 从已有的DataFrame数据框复制创建
可以使用pandas.DataFrame.copy()函数从已有的DataFrame数据框复制创建新的数据框,具体示例如下:
import pandas as pd
# 原始DataFrame数据框
df1 = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'], 'Gender': ['Female', 'Male', 'Male'], 'Age': [22, 25, 30]})
# 从已有的DataFrame数据框复制
df2 = df1.copy()
df2['ID'] = [1, 2, 3]
上述代码中,首先创建了一个原始的DataFrame数据框df1,然后通过df1.copy()复制创建出新的df2,并给df2增加了一列ID。
4. 使用numpy数组创建
numpy数组也可以用来创建DataFrame数据框,具体示例如下:
import pandas as pd
import numpy as np
# 从numpy数组创建
arr = np.array([['Alice', 'Female', 22], ['Bob', 'Male', 25], ['Charlie', 'Male', 30]])
df = pd.DataFrame(arr, columns=['Name', 'Gender', 'Age'])
上述代码中,首先使用numpy.array()函数创建出二维数组arr,然后通过pd.DataFrame()函数将其转化为DataFrame数据框。
5. 使用pandas Series对象创建
pandas库中的Series可以用来创建DataFrame数据框,示例如下:
import pandas as pd
# 从Series创建
s1 = pd.Series(['Alice', 'Bob', 'Charlie'])
s2 = pd.Series(['Female', 'Male', 'Male'])
s3 = pd.Series([22, 25, 30])
df = pd.DataFrame({'Name': s1, 'Gender': s2, 'Age': s3})
上述代码中,创建了三个Series对象s1、s2和s3,然后将其传入pd.DataFrame()函数创建DataFrame数据框df。
6. 使用列表推导式创建
可以使用列表推导式创建DataFrame数据框,具体示例如下:
import pandas as pd
# 使用列表推导式创建
data = [['Alice', 'Female', 22], ['Bob', 'Male', 25], ['Charlie', 'Male', 30]]
df = pd.DataFrame([{'Name': d[0], 'Gender': d[1], 'Age': d[2]} for d in data])
上述代码中,使用列表推导式创建了data列表,将其传入pd.DataFrame()函数创建DataFrame数据框df。
以上就是六种创建DataFrame数据框的方式,其中每一种方式都有其适用的场景,需要选择合适的方式进行创建。