Python这条路是不会停止的

  • 20210216

我毕设是在做什么呢,简而言之,就是用python对数据集进行初步清洗、特征提取、设计分类器训练样本、预测测试样本的特征。emm目前很痛苦……

然后记录一下从不知道到知道了的知识

查看python已安装的库

pip list

升级pip版本

c:\anaconda3\python.exe -m pip install --upgrade pip

查看可更新的第三方库

pip list --outdated

更新安装某一库

pip install --upgrade XXX

将pandas类型的变量数据保存至本地csv文件中,并用当地时间命名文件名

from datetime import datetime  #当初很疑惑为什么from和import同一个名字,后来删掉from,emm立马报错
fn = "C:/a.pythondata/news(7146-242)_{}.csv".format(format(datetime.now(), '%Y_%m_%d_%H_%M'))   
group_df.to_csv(fn, index = False, sep=',', encoding='gb18030')
保存csv文件
  • 20210217

用rename()函数修改pandas类型变量的列名

常规的一个一个来修改

df.rename(columns={'before':'after'},inplace=True)

如果一个变量的列名要完全copy另一变量列名,可尝试用循环

i=min
while i

第一次循环完输出after.head()显示列名还是没有被修改的,可以考虑在rename()函数内加上inplace=True,即

i=min
while i

再运行一次after.head()会报错 AttributeError: 'NoneType' object has no attribute 'head'(但此时输出before.head()会显示修改成功),然后回去把inplace=True删掉,再运行一次,再输出after.head(),此时,列名成功被修改。先不考虑为什么会这样,反正屡试不爽[捂脸]。

-20220927

pandas的一些常用函数

防止自己忘记,还是记录一下好了

重新修改日期的表现形式并转换为日期格式
df['noted_date'] = df['noted_date'].apply(lambda x: x.split(' ')[0][-4:] + '-' + x.split(' ')[0][3:5] + '-' +  x.split(' ')[0][:2] + ' '+ x.split(' ')[1])
df['noted_date']= pd.to_datetime(df['noted_date'])
#按日期排序
df.sort_values(['noted_date'],inplace = True)
查看所有字段的次数、是否为空、类型
df.info()
查看所有字段的次数、是否为空、类型
查看目标字段的最大值最小值等信息
df.describe()
查看目标字段的最大值最小值等信息
筛选某个字段等于某个值的列
df_in = df[df["out/in"] == 'In']
去除重复项
df_in = df_in.drop_duplicates(['noted_date']) 
#df_in = df.drop_duplicates(subset = ['noted_date','temp'])
重置索引
df_in.reset_index(drop = True) 

一些很有用的学习网址
sklearn (scikitlearn.com.cn)
Pandas 数据清洗 | 菜鸟教程 (runoob.com)

你可能感兴趣的:(Python这条路是不会停止的)