python中text函数的语法_python重点语法总结

python易错点笔记

1. 如何用pandas读取txt文件

data=pd.read_table(r’./data/N8AD5Sr3I7dWU274.txt’,sep=’-’,header=None,index_col=0)

#header=None:表示文件中无表头

#index_col=0:将第一列作为索引

2. pandas中dataframe的列重命名

df.columns=[‘列1’,‘列2’]

df.rename(columns={‘name’:‘人数’,age:‘年龄’})

3. plt.text()函数

plt.text(x,

y,

string,

fontsize=15,

verticalalignment=“top”,

horizontalalignment=“right”

)

x,y:表示坐标值上的值

string:表示说明文字

fontsize:表示字体大小

verticalalignment:垂直对齐方式 ,参数:[ ‘center’ | ‘top’ | ‘bottom’ | ‘baseline’ ]

horizontalalignment:水平对齐方式 ,参数:[ ‘center’ | ‘right’ | ‘left’ ]

4. pandas处理时间序列

pandas时间类型为:

pd.timestamp():时间戳

pd.period():时期

pd.timedelta():时间间隔

常用的日期函数:

pd.to_datetime()

pd.to_period()

pd.date_range()

pd.period_range()

#时间加减 dt=now+pd.Timedelta(days=100)

#时间转化为字符只显示年月日dt.strftime(’%Y-%m-%d’)

#字符转化为时间

方法一: date1[‘d2’]=pd.to_datetime(date1[‘date’],format=’%Y-%m-%d’)

方法二: date1[‘d1’]=date1[‘date’].map(lambda x:pd.datetime.strptime(x,’%Y-%m-%d’))

5. pd.cut的使用

cut_bins=np.range(90,135,5)

bins=pd.cut(df[‘score’],cut_bins)

df[‘新旧装修’]=pd.cut(df['装修时间],[0,2015,2019],labels=[‘新装修’,‘旧装修’])

6. pd.pivot_table透视表的使用

pd.pivot_table(index=‘用户ID’,values=[‘订单金额’,‘购买日期’,‘订单数’],aggfunc={‘订单金额’:‘sum’,‘购买日期’:‘max’,‘订单数’:‘sum’})

7. re.escape方法

可以将字符串中所有可能被解释为正则运算符的字符进行转译。

re.escape(‘www.python.org’)

#‘www\.python\.org’

8. 编码问题

import sys

if sys.getdefaultencoding() != ‘utf-8’:

reload(sys)

sys.setdefaultencoding(‘utf-8’)

9. np.expand_dims:用于扩展数组的形状

import numpy as np

In [12]:

a = np.array([[[1,2,3],[4,5,6]]])

a.shape

Out[12]:

(1, 2, 3)

#np.expand_dims(a, axis=0)表示在0位置添加数据,转换结果如下:

In [13]:

b = np.expand_dims(a, axis=0)

b

Out[13]:

array([[[[1, 2, 3],

[4, 5, 6]]]])

In [14]:

b.shape

Out[14]:

(1, 1, 2, 3)

10. pandas.DataFrame.sample随机选取若干行

DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)[source]

– n:抽取的条数

– frac:抽取比例 ,例如frac=0.8,就是抽取其中80%。

– replace:True or False,是否为放回抽样

– weight:字符索引或者概率数组

11. pandas将dataframe多列拼接成一列str.cat()和一列拆分为多列

df[‘a’].str.cat() 是将多行内容合并为一行

df[‘a’].str.cat(df[‘b’],sep=’-’) 将两列进行合并,并用-进行连接

str.cat()函数使用的前提是两列的内容都是字符串,如果是数值型的话会报错

df[‘price’]=df[‘price’].map(lambda x:str(x))

参考文章

12. pandas中str.extract使用

163cm提取数字并转为int类型:df_all.height.str.extract(’(\d+)’).astype(‘int’)

1993年4月8日(27岁):df_all.age.str.extract(’.?\s\((.*?)岁\)’).astype(‘float’)

13. 从一个list里面统计词频

词云分析

参考文章

#利用collections中的Counter函数

from collections import Counter

list1=[1,2,3,4,3,2,1]

a=Counter(list1)

print(a) # Counter({1:2,2:2,3:2,4:1})

a.elements() #获取a中的所有的键,返回的是一个对象,可以通过list来转化它

a.most_common(2) #返回前两个出现频率最高的以及他们的键,列表里面嵌套元祖的方式

a[‘zz’] #访问不存在的时候,自动返回为0

a.update(“aa5bzz”) #更新被统计的对象,即原有的计数值与新增的相加,而不是替换

a.subtrct(“aaa5z”) #实现与原来的计数值相减,结果运行为0和负值

#利用collections中的defaultdict()

defaultdict()可以接受一个参数,如str,int,float等。但这个参数并不是来约束字典的key的值的类型,也不是用来约束value的值的类型。而是当字典的key不存在时,将value初始化为某个值。str初始化为“”,int初始化为0,float初始化为0.0

from collections import defaultdict

list1=[1,2,3,4,3,2]

count_dict=defaultdict(int)

for item in lists:

count_dict[item]+=1

本文地址:https://blog.csdn.net/chuntingting/article/details/107100863

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!


版权声明:本文为weixin_40002224原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。