做网站的需要什么软件,黄页网云南企业,网页界面设计的分类,网站开发和网络设计有什么区别1.列筛选
#xff08;1#xff09;某一列某几列
对于一个表单里面的数据#xff0c;如果我们想要对于这个表单里面的数据进行处理#xff0c;我们可以一列一列进行处理#xff0c;也可以多列一起进行处理#xff1b; 一列一列处理#xff1a;
只需要在这个dataf…1.列筛选
1某一列某几列
对于一个表单里面的数据如果我们想要对于这个表单里面的数据进行处理我们可以一列一列进行处理也可以多列一起进行处理 一列一列处理
只需要在这个dataframe变量的后面添加上这个中括号和对应想要处理的索引
下面的data就是这个里面的dataframe变量中括号里面的就是对应的列索引相当于是我们只会打印这个表单里面的第三列的数据
data pd.read_csv(/Users/yequ/电商数据清洗.csv)# 使用print()输出变量data中的 payment 列print(data[payment])# TODO 使用print()输出变量data中的 price 列print(data[price])# 使用print()输出变量data中的 cutdown_price 列print(data[cutdown_price])
我们如果想要对于上面的这几列的数据进行运算的话也是可以一列一列的进行运算的
例如我们下面进行的运算就是每一列的数据都要除以100
# 将变量data中的 payment 列修改为以元为单位的数据data[payment] data[payment]/100# TODO 将变量data中 的 price 列修改为以元为单位的数据data[price] data[price]/100# 将变量data中的 cutdown_price 列修改为以元为单位的数据data[cutdown_price] data[cutdown_price]/100# 使用print()输出变量dataprint(data)
同样是上面的这个数据表单我们还可以 多列一起进行处理
这个pandas里面可以使用两个中括号里面套着这些数据就可以实现多列进行相同处理的效果
这个里面是一共使用了两个中括号的第一个中括号就是表示的对于这个data的索引值第二个表示的就是这个中括号里面的内容就是一个简单的列表对于这个列表里面的数据进行操作
# TODO 将变量data中的payment, price, cutdown_price 这三列修改为以元为单位的数据
data[[payment, price, cutdown_price]] data[[payment, price, cutdown_price]]/100# 使用print()输出变量data
print(data)
2.按照index访问数据
一行多列单个多个数据 使用下面的这个表达作为例子这个时候我们就可以使用.loc加上对应的行索引找到这一行的元素
print(data.loc[3515712]) 上面这个代码就会打印输出这个对应的这一行的信息包括这个user_id还有这个后面的各种费用都会打印出来 访问连续的几行
因为想要打印的这几行数据是连续的这个时候就可以使用这个冒号运算符只需要我们输入这个起始位置和终止位置即可
# 使用print()和.loc属性输出订单号3515712到3515716的数据print(data.loc[3515712:3515716]) 打印不连续的几行
使用这个两个中括号把这几行不连续的索引值全部放进去即可
print(data.loc[[3515714,3601839,3601842]]) 访问单个元素
只需要给出来这个行标和列标就可以准确的定位到这个数据并且打印出来
print(data.loc[3515712,payment]) 下面介绍的就是iloc属性这个属性传递进去的参数就是对应的行标以此来访问这个行数据
iloc属性按照这个位置访问对应位置上面的数值
这个访问的权限和上面介绍的都是一样的但是这个括号里面的内容就不是向上面一样的这个具体的内容因为我们使用loc属性的时候传递进去的参数就是这个price这些使用的是表格里面的数据这个.iloc属性使用的参数就是对应的下标不需要我们传递具体的数值 3.布尔索引
1这个数据筛选的方式主要是针对于这个大型数据集我们可以通过这个方式判断这个数据是不是符合条件的
2我们可以使用两个方括号里面的中括号返回值就是一个series序列外面的这个中括号使用里面的这个返回的series作为索引就可以得到新的符合条件的系列
# TODO 使用print()和布尔索引输出cutdown_price这一列值里大于0的行print(data[data[cutdown_price]0])
3如果我们想要一次性对于多个条件进行判断是否符合这个时候就需要使用逻辑运算符这个里面代表的意义和上面的一样需要注意的就是这个括号之间的嵌套
# TODO 使用print()和布尔索引
# 输出cutdown_price这一列值里大于0
# 和post_fee这一列值里大于0的行数据print(data[(data[cutdown_price]0)(data[post_fee]0)])
4.时间类型和格式转换
1字符串类型转换为时间类型并且进行这个筛选
# TODO 将data中购药时间这一列数据从字符串类型转换为日期类型data[购药时间]pd.to_datetime(data[购药时间])# TODO 使用布尔索引筛选出购药时间列中月份等于2的数据,并赋值给data_2018_2data_2018_2data[data[购药时间].dt.month2]# 使用print()函数输出data_2018_2print(data_2018_2)
使用的是pd模块去调用这个to_datatime函数这个函数的参数就是想要进行修改的列生成的就是事件类型的数据把这个字符串类型数据转换为时间类型
筛选就是选出来这个事件类型里面的月份是二月份的我们依然是使用这个.dt.month属性进行这个判断把这个符合条件的赋值给一个新的变量把这个变量打印输出
2格式转换函数 # TODO 使用astype()函数将data[身份证号]转换为str类型data[身份证号]data[身份证号].astype(str) 上面这个代码部分就是把这个身份证号这一列转换为str类型的数据调用的就是astype函数