Numpy Python Pandas 数据框创建
在本文中,我们将介绍如何使用Python的Numpy和Pandas库来创建数据框。
阅读更多:Numpy 教程
Numpy数组的数据框
Numpy是Python中用于科学计算的重要库,其中有一个功能是创建多维数组。在这个多维数组中,每行数据都必须具有相同的数据类型,这样在后续数据分析过程中才能快速对数据进行计算。
创建一个简单的numpy数组:
import numpy as np
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(data)
输出结果:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
可以将numpy数组转换为数据框形式,使用pandas库中的DataFrame()函数。
import pandas as pd
df = pd.DataFrame(data, columns=['col1', 'col2', 'col3'])
print(df)
输出结果:
col1 col2 col3
0 1 2 3
1 4 5 6
2 7 8 9
Pandas的数据框
Pandas是Python中用于数据分析的一个强大库。Pandas提供了很多工具来读取、操作和转换数据。数据框是Pandas中最常用的数据结构之一。Pandas允许你创建数据框并从多种数据源读取数据,比如csv、Excel、sql等。
下面我们将演示如何使用Pandas库创建数据框。
import pandas as pd
data = {'name': ['John', 'Joe', 'Mary'],
'age': [26, 31, 27],
'grade': ['A', 'B', 'C']}
df = pd.DataFrame(data)
print(df)
输出结果:
age grade name
0 26 A John
1 31 B Joe
2 27 C Mary
可以看到Pandas根据数据的字典形式创建了数据框,并自动分配了行和列的名称。
通过读取csv文件创建数据框:
import pandas as pd
df = pd.read_csv('data.csv')
print(df)
其中data.csv文件的内容如下:
id,name,age,address
1,John,26,New York
2,Joe,31,London
3,Mary,27,Paris
输出结果:
id name age address
0 1 John 26 New York
1 2 Joe 31 London
2 3 Mary 27 Paris
Pandas的数据框基本操作
Pandas提供了很多方法来操作数据框,下面我们将介绍一些常见的数据框操作。
列选择和过滤
通过列名选择和过滤数据:
# 所有列
print(df)
# 选择单个列
print(df['name'])
# 选择多个列
print(df[['name', 'age']])
# 过滤
print(df[df['age'] > 26])
输出结果:
id name age address
0 1 John 26 New York
1 2 Joe 31 London
2 3 Mary 27 Paris
0 John
1 Joe
2 Mary
Name: name, dtype: object
name age
0 John 26
1 Joe 31
2 Mary 27
id name age address
1 2 Joe 31 London
2 3 Mary 27 Paris
行选择和过滤
通过行索引选择和过滤数据:
# 所有行
print(df)
# 选择单个行
print(df.loc[1])
# 选择多个行
print(df.loc[[1, 2]])
Pandas的数据框基本操作
Pandas提供了很多方法来操作数据框,下面我们将介绍一些常见的数据框操作。
列选择和过滤
通过列名选择和过滤数据:
# 所有列
print(df)
# 选择单个列
print(df['name'])
# 选择多个列
print(df[['name', 'age']])
# 过滤
print(df[df['age'] > 26])
输出结果:
id name age address
0 1 John 26 New York
1 2 Joe 31 London
2 3 Mary 27 Paris
0 John
1 Joe
2 Mary
Name: name, dtype: object
name age
0 John 26
1 Joe 31
2 Mary 27
id name age address
1 2 Joe 31 London
2 3 Mary 27 Paris
行选择和过滤
通过行索引选择和过滤数据:
# 所有行
print(df)
# 选择单个行
print(df.loc[1])
# 选择多个行
print(df.loc[[1, 2]])
# 过滤
print(df[df['age'] > 26])
输出结果:
id name age address
0 1 John 26 New York
1 2 Joe 31 London
2 3 Mary 27 Paris
id 2
name Joe
age 31
address London
Name: 1, dtype: object
id name age address
1 2 Joe 31 London
2 3 Mary 27 Paris
id name age address
1 2 Joe 31 London
2 3 Mary 27 Paris
新增和删除列
使用df[‘newcolumn’] = xxx可以新增列:
df['email'] = ['john@gmail.com', 'joe@hotmail.com', 'mary@gmail.com']
print(df)
输出结果:
id name age address email
0 1 John 26 New York john@gmail.com
1 2 Joe 31 London joe@hotmail.com
2 3 Mary 27 Paris mary@gmail.com
使用df.drop()删除列:
df.drop('email', axis=1, inplace=True)
print(df)
输出结果:
id name age address
0 1 John 26 New York
1 2 Joe 31 London
2 3 Mary 27 Paris
新增和删除行
使用df.loc[]新增行:
df.loc[3] = [4, 'Mike', 29, 'Sydney']
print(df)
输出结果:
id name age address
0 1 John 26 New York
1 2 Joe 31 London
2 3 Mary 27 Paris
3 4 Mike 29 Sydney
使用df.drop()删除行:
df.drop(3, inplace=True)
print(df)
输出结果:
id name age address
0 1 John 26 New York
1 2 Joe 31 London
2 3 Mary 27 Paris
总结
本文介绍了Python中使用Numpy和Pandas库创建数据框的方法,并演示了一些基本的数据框操作。数据框是Python进行数据分析和处理的重要数据结构之一,掌握数据框的创建和操作方法对于学习数据分析是十分必要的。