python基础知识(二)

1、字典添加元素方式

a = {}
a['the']=5
##{'the': 5}

2、生成指定范围的随机小数

#生成200到300之间的随机小数
import random
random.uniform(200,300)

random.random()    #生成0到1之间的随机小数
random.randint(a,b)   #生成包含两端的[a,b]随机整数

3、创建目录及删除

import os
#创建一级目录,在E盘在创建learn目录
os.mkdir('E:\learn')       
# 创建多级目录,在E盘在创建learn目录,learn目录下创建math目录
os.makedirs('E:\learn\math')

#删除文件夹以及里面的内容
import shutil
shutil.rmtree(dir_name)

#os.sep 根据你所处的平台,自动采用相应的分隔符号,windows是'\'
import os
name='E:\\pycharm\\tu'
name.split(os.sep)[-1]
#输出为tu

4、cmd切到固定位置  (cd  /d  E:\Spyder\Job)

5、代码打包为单独的exe               pyinstaller   -F    文件名.py

6、np.bincount()将数组中出现每一项的频次记录下来

a = [0,1,1,0,0,1,2,1,2,0,2,1]
np.bincount(a)

#array([4, 5, 3], dtype=int64)

7、

numpy.clip(a, a_min, a_max, out=None)   #a中的值被限定在最大值和最小值之间
a : 输入的数组
a_min: 限定的最小值 也可以是数组 如果为数组时 shape必须和a一样
a_max:限定的最大值 也可以是数组 shape和a一样
out:剪裁后的数组存入的数组

8、series数据类型数元素个数

y.value_counts()

#numpy统计元素个数
import collections
collections.Counter(y)

9、随机抽样

df.sample(frac=0.8, replace=True, random_state=1)
frac抽样比例
replace是否为有放回抽样,
True:有放回抽样
False:未放回抽样

10、dataframe根据某一列升序降序

#data根据label列降序
data.sort_values(by="label" , inplace=True,ascending=False) 
#inplace表示是否是原数据更改
#ascending = True 表示升序

11、dataframe查看NAN的个数并替换为0

total_nan_values = data.isnull().sum().sum()
print('total_nan_values is: ', total_nan_values)

data = data.fillna(0)

12、判断dataframe每列数据是否有空值

data.isnull().any(axis=0)

13、查看数据的最后几列

DataFrame.tail(n=5) ##返回最后5行
#对于n的负值,此函数返回除前n行之外的所有行,等效于df[n:],即等效于df.iloc[n:]

14、选取两列或以上满足条件的行

df[(df['column1']=='beijing')&(df['column2']==3)]

15、表中某列数据的取值的个数

df['columns'].value_counts()

#中位数
df['columns'].median()

#nunique可以直接统计不同值的个数
df['columns'].nunique()
#去重之后的不同值
df['columns'].unique()
#众数
df['columns'].mode()
#分位数
df['columns'].quantile(0.25) #4分之一分位数
#统计一列中每行的字符串的长度
df['columns'].str.len()

16、删除含有空值的行

dropna()用法:
DataFrme.dropna(axis=0,how=’any’,thresh=None,subset=None,inplace=False)
参数:
axis: 默认axis=0。0为按行删除,1为按列删除
how: 默认 ‘any’。 ‘any’指带缺失值的所有行/列; 'all’指清除一整行/列都是缺失值的行/列
thresh: int,保留含有int个非nan值的行
subset: 删除特定列中包含缺失值的行或列
inplace: 默认False,即筛选后的数据存为副本,True表示直接在原数据上更改

17、时间格式转化

pd.to_datetime()函数

18、agg聚合函数

agg()函数是聚合函数,
DataFrame.agg(func,axis = 0,* args,** kwargs )
@@@func : 实现某种统计功能的函数,如果要不同列用求不同统计量,
则用字典{'行名/列名','函数名'}指定。

19、数据透视表

df.pivot_table(values=None, index=[列名],columns=[列名],
aggfunc='mean', fill_value=None,  dropna=True, margins=False,margins_name='All')

#df:  要进行统计的数据集,类似与excel数据透视表里的选择数据区域,在该区域里进行计算
#values: 要进行汇总结算的列名,类似于数据透视表中的‘数值’
#index:   数据透视表的行标签,类似于excel透视表中的‘行标签’
#columns:数据透视表的列标签,类似于excel透视表中的‘列标签’
#aggfunc="mean":  汇总结算的计算方式,类似于在excel数据中选定列了以后选择是求和还是取平均
#margins: 是否对计算结果再进行求和计算,默认为Flase,若为True则会添加分项的的小计,即每一行和列的和
#margins_name='All':求和结果的命名,默认为‘ALL'

20、分组函数groupby函数

df.groupby(['columns1'])['columns2'].count()
#columns1根据哪一列分组
#columns2对哪一列进行统计,求和,计数,求均值等等

21、merge函数,根据公共字段将不同的表拼接在一起

pd.merge(表1,表2,on=['某字段'],how='left')

22、timedelta() 函数

#timedelta()函数可以直接参与日期的计算
 datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
#days表示天数,minutes表示分钟,hours表示小时,seconds表示秒数

23、集合

aset={'python',1,2,3,'love'}
otherset={'dog','cat',3,5,1,'love'}
aset.union(otherset)           #两集合的并集
aset.intersection(otherset)    #两集合的交集
aset.difference(otherset)    #aset特有的元素
aset.issubset(otherset)       #aset是否为otherset的子集
aset.remove('python')        #从aset中移除python
aset.pop()                   #随机移除aset中的一个元素

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值