本文共 4693 字,大约阅读时间需要 15 分钟。
Pandas DataFrames 是具有带标签的行和列的二维数据结构,可以存储很多类型的数据。
Pandas Series
字典。pd.DataFrame()
函数。import pandas as pd# 创建一个Pandas Series字典items = { 'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']), 'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}# 输出看下是否是个字典print(type(items))shopping_carts = pd.DataFrame(items)# 不使用 print,直接在jupyter notebook 上输出shopping_carts
输出:
shopping_carts 显示输出为:
此处:
import pandas as pd# We create a dictionary of Pandas Series without indexes# 创建一个没有索引的 Pandas Seriesdata = { 'Bob' : pd.Series([245, 25, 55]), 'Alice' : pd.Series([40, 110, 500, 45])}# 创建一个 DataFramedf = pd.DataFrame(data)# 显示 DataFramedf
输出显示为:
这里:Pandas DataFrame 的行索引从 0 开始,就像 NumPy ndarray 的索引一样。
import pandas as pd# 创建一个Pandas Series字典items = { 'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']), 'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}shopping_carts = pd.DataFrame(items)print('shopping_carts这个DataFrame的形状:', shopping_carts.shape)print('shopping_carts这个DataFrame的维度:', shopping_carts.ndim)print('shopping_carts这个DataFrame拥有的元素总数为:', shopping_carts.size, '个')print()print('shopping_carts这个DataFrame的数据为:\n', shopping_carts.values)print()print('shopping_carts这个DataFrame的行索引为:', shopping_carts.index)print('shopping_carts这个DataFrame的列索引为:', shopping_carts.columns)
输出:
shopping_carts这个DataFrame的形状: (5, 2)shopping_carts这个DataFrame的维度: 2shopping_carts这个DataFrame拥有的元素总数为: 10 个shopping_carts这个DataFrame的数据为: [[245. 500.] [ nan 40.] [ nan 110.] [ 25. 45.] [ 55. nan]]shopping_carts这个DataFrame的行索引为: Index(['bike', 'book', 'glasses', 'pants', 'watch'], dtype='object')shopping_carts这个DataFrame的列索引为: Index(['Bob', 'Alice'], dtype='object')
在这里我们只对某列数据感兴趣, 我们可以通过关键字 columns 和 index 选择要将哪些数据放入 DataFrame 中。
import pandas as pd# 创建一个Pandas Series字典items = { 'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']), 'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}bob_shopping_cart = pd.DataFrame(items, columns=['Bob'])# We display bob_shopping_cartbob_shopping_cart
输出为:
import pandas as pd# 创建一个Pandas Series字典items = { 'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']), 'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}# 创先一个只选择特定几行的DataFramesel_shopping_cart = pd.DataFrame(items, index = ['pants', 'book'])# 展示该 DataFramesel_shopping_cart
输出:
import pandas as pd# 创建一个Pandas Series字典items = { 'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']), 'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}# 创建只包含Alice列,且索引为glasses, bike的DataFramealice_sel_shopping_cart = pd.DataFrame(items, index = ['glasses', 'bike'], columns = ['Alice'])# 显示该DataFramealice_sel_shopping_cart
输出显示为:
import pandas as pd# 创建一个数组字典data = { 'Integers' : [1,2,3], 'Floats' : [4.5, 8.2, 9.6]}# 创建一个DataFrame df = pd.DataFrame(data)# 显示df
输出:
import pandas as pddata = { 'Integers' : [1,2,3], 'Floats' : [4.5, 8.2, 9.6]}# 创建一个DataFrame并为每行添加行索引df = pd.DataFrame(data, index = ['label 1', 'label 2', 'label 3'])# 显示df
输出显示:
import pandas as pditems2 = [{ 'bikes': 20, 'pants': 30, 'watches': 35}, { 'watches': 10, 'glasses': 50, 'bikes': 15, 'pants':5}]# 创建一个DataFramestore_items = pd.DataFrame(items2)# 显示DataFramestore_items
输出:
同样:可以通过在 pd.DataFrame() 函数中使用关键字 index,为行索引添加标签
import pandas as pd# 创建一个字典列表items2 = [{ 'bikes': 20, 'pants': 30, 'watches': 35}, { 'watches': 10, 'glasses': 50, 'bikes': 15, 'pants':5}]# 创建一个DataFrame并指定row indexstore_items = pd.DataFrame(items2, index = ['store 1', 'store 2'])# 显示DataFramestore_items
显示: