python基础操作

都是平日编程用到的小知识点,每遇到一个就加一个,为了之后方便查询,希望对大家也有所帮助

1.删除dataframe全为0的列

###假设数据为data##
data.loc[:,~(data==0).all()]

2、返回dataframe数据某列为某值的所有行

##df数据中label列是2的所有行
df_2 = df[df['label'].isin([2])]

3、在列表中添加元素,append()函数一次只能为列表添加一个元素,extend()函数可以将添加的列表(或者元组)中的元素独立的添加到列表中

##为x=[]空列表中添加5个1
x=[]
import numpy as np
for i in np.ones(5):
    x.append(i)
 

x.extend(np.ones(5))

4、np.where(condition,x,y) ---满足condition的数据输出x,否则输出y

import numpy as np
a = np.arange(8)
b = np.where(a>=5,1,-1)

#b=[-1 -1 -1 -1 -1  1  1  1]

5、对于dataframe数据结构a,切片的区别:a[0:10]-----不包含第10行数据,

a.loc[0:10]---包含第10行数据

6、利用列表创建dataframe

a1=[1,2,3,4,5]                
a2=[4,5,6,7,8] 
df=pd.DataFrame({'列名1’:a1, '列名2':a2}) 
##利用for循环查看索引和值
for index,value in df.iterrows(): 
    print(index)
    print(value)

7、数据转存到csv文件,中文乱码问题--------加入encoding=‘utf-8-sig’

8、series数据利用for循环遍历索引和值

for index,value in enumerate(df):
    print(index)
    print(value)

 9、dataframe数据类型寻找符合某一列的特定值的索引,输出为列表

#输出task2表中列‘群ID’的值为ACIDSNYX的所有行索引
t = task2.loc[(task2['群ID']=='ACIDSNYX'].index.tolist()

10、dataframe数据修改列名----df.columns['列名1’,'列名2',.....]

11、根据出生年月判断生肖

def year_animals(birth):
  year = [1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007]
  animals = ['鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪']
  for i in range(12):
    for n in range(50):
      if int(birth[0:4])-year[i]==12*n or int(birth[0:4])-year[i]==12*(-n):
        print('您的生肖是: '+animals[i]) 

12、自定义函数

def functionName(形参):
      函数体
functionName(实参)    #调用函数

参数定义的顺序:

(1)位置参数:按位置匹配的参数

(2)默认参数:默认参数必须指向不变参数,在定义函数的时候赋予了参数初值,定义的时候可不必在赋值了

(3)可变参数:*形参,该参数可以接纳任意多个实参,实参被捆绑为元组

(4)关键词参数:**形参,可以把带参数名的参数值组装到一个字典中,键是具体的实参名,值是传入的参数值

13、Numpy数组:

[ ]-一维数组;[[ ],[ ]]内嵌了一维数组,就是二维数组;[[[ ],[ ]],[[ ]]],内嵌了二维数组,就是三维数组,依次。。。

print(L.shape)-输出维度从高到低排序,例如二维数组,输出第一个数字表示二维数组包含几个一维数组,第二个数字一维数组包含几个数字。

14、PNG图像格式转JPG

from PIL import Image
im = Image.open('tupian.png')
im.save('tupian_chang.jpg')            ##RGB模式下

##如果为RGBA模式下,需要先转化为RGB模式
im.convert('RGB').save('tupian_change.jpg')

15、图像数据结构转化

###PIL的Image对象转化为Numpy
im = Image.open('tu.png')
im = np.array(im)

###将numpy转化为Image
im = imread('tu.png')
im = Image.fromarray(im)

16、图像镜像、图像旋转、更改像素值操作

##镜像transpose()函数
im.transpose(Image.FLIP_LEFT_RIGHT)      ##垂直轴的镜像
im.transpose(Image.FLIP_UP_DOWN)           #水平轴的镜像
##旋转
im.rotate(45)   #角度
##改像素值putpiexl()函数

17、彩色图片变灰度图使用color.rgb2gray(im)

18、调整图片大小使用im.resize((width,height),Image.ANTIALIAS)                                                          Image.NEAREST :低质量                     Image.BILINEAR:双线性                                                 Image.BICUBIC :三次样条插值            Image.ANTIALIAS:高质量

19、正则函数

re.match(pattern,string,flags=0)----从string起始位置匹配;                    re.search(pattern,string,flags=0)扫描整个字符串并返回第一个成功的匹配;re.sub(pattern,repl,string,count=0,flags=0)----用于替换字符串中的匹配项,repl为替换的字符串,     count为替换的次数;re.subn()和sub函数相似,返回一个元组(新字符串,替换次数);re.compile()用于编译正则表达式;re.findall()匹配所有符合正则表达式的字符,并返回一个列表;re.finditer(pattern,string,flages=0)从字符串中找到正则表达式所匹配的所有子串,并作为迭代器返回;                                                                                                        re.split(pattern,string,maxsplit=0,flags=0)用pattern做分隔符切分字符串,分割后返回列表。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值