首页 > 其他 > 详细

pandas

时间:2021-04-14 23:23:52      阅读:27      评论:0      收藏:0      [点我收藏+]


1 作用:数据分析和处理

2 处理excel数据

2.1 读取excel数据
file = request.files.get("file")
read_ex = pd.read_excel(file)
df = pd.DataFrame(read_ex)

1.获取列标题:
columns = df.columns.values.tolist()

2.获取某一列数据:
area_list = df[‘大区‘].tolist() # 获取列标题为“大区”的列数据

3.设置列:
df["user"] = "lxl" # 如果没有user列,会添加这一列,并填充“lxl”

4.对一行或一列做出一些操作(axis=1遍历行,axis=0遍历列)
df = df.apply(ra_data_process, axis=1)

5.重命名行或者列索引
df.rename(columns={
"门店编码": "store_code",
"商品编码": "sku_code",
"确认补货": "modify_replenish",
"调拨": "modify_send",
"建议调入门店": "receive_store_name",
"调入门店": "modify_receive_store_name",
},
inplace=True)

# inplace:bool,default False
将结果返回赋值给原变量,无需再次将结果赋值给新变量。即df.rename(inplace=True)之后,df的值发生改变(pandas中好多方法都有这个参数,此处就演示了)

6.获取部分列数据
df = df[["大区", "门店编码"]]

7.df转化为字典:
In [9]: df.to_dict(orient=‘records‘)
Out[9]:
[{‘colA‘: ‘A‘, ‘colB‘: ‘X‘, ‘colC‘: 100, ‘colD‘: 90},
{‘colA‘: ‘A‘, ‘colB‘: nan, ‘colC‘: 50, ‘colD‘: 60},
{‘colA‘: ‘B‘, ‘colB‘: ‘Ya‘, ‘colC‘: 30, ‘colD‘: 60},
{‘colA‘: ‘C‘, ‘colB‘: ‘Xb‘, ‘colC‘: 50, ‘colD‘: 80},
{‘colA‘: ‘A‘, ‘colB‘: ‘Xa‘, ‘colC‘: 20, ‘colD‘: 50}]

8.DataFrame.loc:根据行列信息获取指定行列数据
cc1 = df.loc[1] # 1为行索引,这里获取第一行数据,从0行开始算,得到类似字典的东西,key为列索引
print(cc1[‘大区‘]) # 根据key获取这一行的值
values = cc1.values # 获取这一行数据的列表

cc1 = df.loc[[1, 2]] # 也可获取多行,这里表示获取索引为1和2两行的数据

cc1 = df.loc[[1, 2], ‘门店编码‘] 如果中括号中有两个,第二个为列,这里表示,取第1、2行,列索引为‘门店编码’的列的数据

9. DataFrame.iloc 也是取行列数据,区别在于,取数据时,不是根据行列索引,而是根据行列数,计算时不包括行列索引
dd = df.iloc[1,1] # 取第1行第1列数据, 也是从0开始计数
dd = df.iloc[[1, 2], 1] #获取第1列,第1、2行的数据

10.获取dataframe获取行数、列数

a = [[1,2,3], [4,5,6], [7,8,9],[4,5,8]]
df = pandas.DataFrame(a)
print("行数", df.shape[0])  # 4
print("列数", df.shape[1])  # 3

 

pandas

原文:https://www.cnblogs.com/liuxuelin/p/14659623.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!