pandas基础
什么是pandas?
pandas是一个开源的python数据分析库,它提供了快速、灵活和富于表现力的数据结构来操作结构化数据。pandas被广泛用于数据处理、数据清洗、数据分析和数据可视化等领域。
pandas中的主要数据结构
pandas中的主要数据结构有两种:Series和DataFrame。
Series
Series是一种一维的数据结构,与python中的列表非常相似。Series可以用来表示一列数据,比如一个csv文件中的一列。
Series中每个元素都会有一个整数索引,默认从0开始,也可以自定义标签索引,这样就可以用字符串或任何其他类型替代整数索引。
DataFrame
DataFrame是一种二维的数据结构,表示一个表格数据。在DataFrame中,每行表示一条记录,每列表示一种属性。DataFrame可以看作是由多个Series组成的。DataFrame中的每个元素都有一个标签索引。
pandas中的常用操作
使用pandas可以进行很多常用的数据处理操作,比如筛选、计数、排序、聚合等。
筛选
筛选可以使用loc和iloc两种方式,loc是根据标签名进行筛选,iloc是根据位置进行筛选。
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'gender': ['female', 'male', 'male', 'male'],
'age': [25, 30, 18, 21]}
df = pd.DataFrame(data)
# 筛选出gender为male的记录
male_records = df.loc[df['gender'] == 'male']
print(male_records)
输出:
name gender age
1 Bob male 30
2 Charlie male 18
3 David male 21
计数
计数可以使用value_counts函数。
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Bob'],
'gender': ['female', 'male', 'male', 'male', 'male'],
'age': [25, 30, 18, 21, 30]}
df = pd.DataFrame(data)
# 计算每个name出现的次数
name_count = df['name'].value_counts()
print(name_count)
输出:
Bob 2
Alice 1
Charlie 1
David 1
Name: name, dtype: int64
排序
排序可以使用sort_values函数。
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'gender': ['female', 'male', 'male', 'male'],
'age': [25, 30, 18, 21]}
df = pd.DataFrame(data)
# 按age升序排序
df = df.sort_values('age')
print(df)
输出:
name gender age
2 Charlie male 18
3 David male 21
0 Alice female 25
1 Bob male 30
聚合
聚合可以使用groupby函数。
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Bob'],
'gender': ['female', 'male', 'male', 'male', 'male'],
'age': [25, 30, 18, 21, 30]}
df = pd.DataFrame(data)
# 按gender分组,计算每组年龄的最大值、最小值和平均值
grouped = df.groupby('gender')
agg_result = grouped['age'].agg(['max', 'min', 'mean'])
print(agg_result)
输出:
max min mean
gender
female 25 25
male 30 18 24.8
numpy对二进制文件的输入输出
numpy可以方便地进行二进制文件的输入输出,这里介绍如何使用numpy进行二进制文件数据的读取和保存。
读取二进制文件
可以使用numpy提供的load函数读取二进制文件。
import numpy as np
# 读取二进制文件
data = np.load('binary_file.npy')
print(data)
输出:
[1 2 3 4 5]
写入二进制文件
可以使用numpy提供的save函数保存数据到二进制文件。
import numpy as np
# 要写入的数据
data = np.array([1, 2, 3, 4, 5])
# 写入二进制文件
np.save('binary_file.npy', data)
写入成功后,可以使用之前介绍的load函数读取该文件。
import numpy as np
# 读取二进制文件
data = np.load('binary_file.npy')
print(data)
输出:
[1 2 3 4 5]
pandas与numpy对二进制文件的输入输出
pandas和numpy都可以方便地进行二进制文件的输入输出。
读取二进制文件
pandas中可以使用read_pickle函数读取二进制文件。
import pandas as pd
# 读取二进制文件
df = pd.read_pickle('binary_file.pkl')
print(df)
输出:
foo bar
0 one 1
1 one 2
2 two 3
3 two 4
numpy中可以使用load函数读取二进制文件。
import numpy as np
# 读取二进制文件
data = np.load('binary_file.npy')
print(data)
输出:
[1 2 3 4 5]
写入二进制文件
pandas中可以使用to_pickle函数将数据保存到二进制文件。
import pandas as pd
# 要写入的数据
df = pd.DataFrame({'foo': ['one', 'one', 'two', 'two'],
'bar': [1, 2, 3, 4]})
# 写入二进制文件
df.to_pickle('binary_file.pkl')
写入成功后,可以使用之前介绍的read_pickle函数读取该文件。
import pandas as pd
# 读取二进制文件
df = pd.read_pickle('binary_file.pkl')
print(df)
输出:
foo bar
0 one 1
1 one 2
2 two 3
3 two 4
numpy中可以使用save函数保存数据到二进制文件。
import numpy as np
# 要写入的数据
data = np.array([1, 2, 3, 4, 5])
# 写入二进制文件
np.save('binary_file.npy', data)
写入成功后,可以使用之前介绍的load函数读取该文件。
import numpy as np
# 读取二进制文件
data = np.load('binary_file.npy')
print(data)
输出:
[1 2 3 4 5]
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas基础 Series与Dataframe与numpy对二进制文件输入输出 - Python技术站