美文网首页
2020-02-12

2020-02-12

作者: 疯狂皮卡丘之冬日储粮 | 来源:发表于2020-02-12 16:25 被阅读0次

Pandas笔记之创建 Pandas DataFrame

DataFrame为Pandas的第二种主要数据结构,是具有带标签的行和列的二维数据结构,可以存储多种类型数据

import pandas as pd
data = {'Bob' : pd.Series([245, 25, 55]),
 'Alice' : pd.Series([40, 110,500,45])}
df = pd.DataFrame(data)
df

打印结果


image.png

可以看出,Pandas DataFrame 的行索引从0开始,就像 Numpy ndarray 的索引一样
因为我们创建的 data字典没有标签索引,因此 Pandas 在创建 DataFrame 时自动使用数字索引
我们可以通过 pd.DataFrame()函数中使用关键字 index,为行索引添加标签

data = {'Integers' : [1,2,3],
 'Flotas' : [4.5, 8.2, 9.6]}
df = pd.DataFrame(data, index = ['label 1', 'label 2', 'label 3'])
df

打印结果


image.png

Pandas笔记之访问&处理 Pandas DataFrame 中的元素

通常使用行列标签访问 DataFrame 的行 列或单个元素
示例如下:stores_items


image.png
print('How many bikes are in each store:\n', stores_items[['bikes']])
print('How many bikes and pants are in each store:\n', store_items[['bikes', 'pants']])
print('What items are in Store 1:\n',store_items.loc[['store 1']])
print('How many bikes are in Store 2:', store_items['bikes']['store 2'])

打印结果


image.png image.png

注意:访问 DataFrame 中的单个元素时,格式:dataframe[column][row]
列标签须在前,如果先提供行标签,将出错

修改DataFrame

1.添加行或者列
示例:添加每个商店的衬衫库存

store_items['shirts'] = [15,2]
store_items

打印结果


image.png

系统默认将新添加的列放置于DataFrame 的末尾
2.在指定位置添加新列

store_items.insert(2,'shoes') 

在索引为2的位置插入数据,以上,不会有值,整列都是NaN
3.对列表使用算术运算符

store_items['suits'] = store_items['pants'] + store_items['shirts']
store_items
image.png

4.对列表添加一个新行

new_items = [{'bikes' : 20, 'pants': 30, 'watches': 35, 'glasses': 4}]
new_store = pd.DataFrame(new_items, index = ['store 3'])
new_store

打印结果


image.png

将创建的new_store,使用 .append()方法添加到store_items DataFrame中

store_items = store_items.append(new_store)
store_items

打印结果


image.png

注意:将新行附加到DataFrame 后,列按照字母顺序排序了

5.仅使用特定列的特定行中的数据向 DataFrame 添加新的列
示例:假设你想在商店 2 和 3 中上一批新手表,并且新手表的数量与这些商店原有手表的库存一样

store_items['new_watches'] = store_items['watches'][1:]
store_items

打印结果


image.png

6.将新列插入 DataFrames 的任何位置
dataframe.insert(loc,lable,data)方法可以将新列(具有给定列标签和给定数据)插入dataframe 的 loc 位置
示例:将名称为 shoes 的新列插入 suits 列前面。因为 suits 的数字索引值为 4,我们将此值作为loc

store_items.insert(4,'shoes',[8,5,0])
store_items

打印结果


image.png

7.删除 DataFrame 中的行和列
.pop()方法仅可以删除列
.drop()方法可以同时用于删除行和列,需借助关键字axis
示例①

store_items.pop('new _watches')
store_items

打印结果


image.png

示例②
仅删除列

store_items = store_items.drop(['watches', 'shoes'], axis = 1)
store_items

打印结果


image.png

仅删除行

store_items = store_items.drop(['store 2', 'store 1'], axis = 0)
store_items

打印结果


image.png

8.更改行和列标签:使用.rename()方法
示例:更改列标签:将bikes列标签改为hats

store_items = store_items.rename(colums = {'bikes' : 'hats'})
store_items

打印结果


image.png

示例:更改行标签

store_items = store_items.rename(index = {'store 3' : 'last store'})
store_items

问题点:行为什么用Index,不用row
9.将DataFrame 中的某一列,作为index
示例:

store_items = store_items.set_index('pants')
store_items

打印结果


image.png

相关文章

网友评论

      本文标题:2020-02-12

      本文链接:https://www.haomeiwen.com/subject/tvlcfhtx.html