pandas数据结构(DataFrame)
DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值),DataFrame既有行索引也有列索引,可被看作是有Series组成的字典。
1、创建DataFrame
复制代码
1
2
3
4
5
6
7
8
9import pandas as pd import numpy as np # 创建DataFrame data = {"color": ["green", "red", "blue", "black", "yellow"], "price": [1, 2, 3, 4, 5]} dataFrame1 = pd.DataFrame(data=data) # 通过字典创建 dataFrame2 = pd.DataFrame(data=data, index=["index1", "index2", "index3", "index4", "index5"]) dataFrame3 = pd.DataFrame(data=data, index=["index1", "index2", "index3", "index4", "index5"], columns=["price"]) # 指定列索引 dataFrame4 = pd.DataFrame(data=np.arange(12).reshape(3, 4)) # 通过numpy数组创建
2、查找DataFrame中的元素
复制代码
1
2
3
4
5
6
7
8data = {"color": ["green", "red", "blue", "black", "yellow"], "price": [1, 2, 3, 4, 5]} dataFrame2 = pd.DataFrame(data=data, index=["index1", "index2", "index3", "index4", "index5"]) frame_index = dataFrame2.index # 查找dataFrame中的所有行标签 frame_column = dataFrame2.columns # 查找dataFrame中所有列标签 frame_values = dataFrame2.values # 查找dataFrame中的所有值 frame_value1 = dataFrame2["color"]["index1"] # 索引查找数值(先列后行) frame_value2 = dataFrame2.at["index1", "color"] # 索引查找数值 frame_value3 = dataFrame2.iat[0, 0] # 绝对位置查找数值
3、查找DataFrame中某一行/列元素
复制代码
1
2
3
4
5
6
7
8
9
10
11data = {"color": ["green", "red", "blue", "black", "yellow"], "price": [1, 2, 3, 4, 5]} dataFrame2 = pd.DataFrame(data=data, index=["index1", "index2", "index3", "index4", "index5"]) # 查找DataFrame一行/列元素 frame_index_value1 = dataFrame2.ix["index1"] # 查找一行元素 frame_index_value2 = dataFrame2.ix[0] # 查找一行元素(绝对位置) frame_index_value3 = dataFrame2.loc["index1"] # 查找一行元素 frame_index_value4 = dataFrame2.iloc[0] # 查找一行元素(绝对位置) frame_index_value5 = dataFrame2.values[0] # 查找一行元素 frame_column_value1 = dataFrame2["price"] # 查找一列元素 frame_column_value2 = dataFrame2.loc[:, "price"] # 查找一列元素 frame_column_value3 = dataFrame2.iloc[:, 0] # 查找一列元素(绝对位置)
4、查找DataFrame中的多行/列元素
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15data = {"color": ["green", "red", "blue", "black", "yellow"], "price": [1, 2, 3, 4, 5]} dataFrame2 = pd.DataFrame(data=data, index=["index1", "index2", "index3", "index4", "index5"]) # 查找DataFrame多行/列元素 dataFrame2.head(5) # 查看前5行元素 dataFrame2.tail(5) # 查看后5行元素 frame_index_values1 = dataFrame2["index1":"index4"] # 切片多行 frame_index_values2 = dataFrame2[0:4] # 切片多行 frame_index_values3 = dataFrame2.ix[["index1", "index2"]] # 多行 frame_index_values4 = dataFrame2.ix[[0, 1]] # 多行 frame_index_values5 = dataFrame2.loc[["index1", "index2"]] # 多行 frame_index_values6 = dataFrame2.iloc[[0, 1]] # 多行 frame_column_values1 = dataFrame2.loc[:, ["price"]] # 多列 frame_column_values2 = dataFrame2.iloc[:, [0, 1]] # 多列 frame_column_values3 = dataFrame2.ix[:, ["price", "color"]] # 多列 frame_column_values4 = dataFrame2.ix[:, [0, 1]] # 多列
5、查找DataFrame多行多列元素
复制代码
1
2
3
4
5# 查找DataFrame多行多列元素 frame_values1 = dataFrame2.loc[["index1", "index3"], ["price"]] # 索引查找 frame_values2 = dataFrame2.iloc[[1, 2], [0]] # 绝对位置查找 frame_values3 = dataFrame2.ix[["index1", "index3"], ["price"]] frame_values4 = dataFrame2.ix[[1, 2], [0]]
6、添加一行/列元素
复制代码
1
2
3
4
5
6
7
8print("####添加一行元素####") dataFrame2.loc["index6"] = ["pink", 3] # dataFrame2.loc["index6"]=10 dataFrame2.iloc[5] = 10 dataFrame2.ix["index7"] = 10 dataFrame2.append(dataFrame2.iloc[3], ignore_index=True) print("####添加一列元素####") dataFrame2.loc[:, "size"] = "small" dataFrame2.iloc[:, 2] = 10
7、修改元素
复制代码
1
2
3
4
5
6# 修改元素 dataFrame2.loc["index1", "price"] = 100 dataFrame2.iloc[0, 1] = 10 dataFrame2.at["index1", "price"] = 100 dataFrame2.iat[0, 1] = 10 print(dataFrame2)
8、删除元素
复制代码
1
2dataFrame2.drop(["index6", "index7"], inplace=True) # inplace=True表示作用在原数组 dataFrame2.drop(["size"], axis=1, inplace=False)
最后
以上就是强健大地最近收集整理的关于python进阶—pandas教程(二)的全部内容,更多相关python进阶—pandas教程(二)内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复