数据分析-基础知识和数据的导入与导出|“朝闻道”知识分享大赛

晨星丨 2023-10-21 22:32:32

 

这是我参加“朝闻道”知识分享大赛的第一篇文章

目录

扩展包与 Python 环境

标准库

使用 pip 安装扩展包

数据的导入与导出

获取数据

新建数据框

读入文本格式数据文件

读入EXCEL文件

数据读入/保存命令总结


扩展包与 Python 环境

标准库

Python 的标准库是其核心的扩展,包括操作系统接口、文件操作、输入输出流、文本处理等功能

 dir() #查看模块中所包含的工具
 help() #战术模块中所有方法的说明
  • 常用模块

 

  • 第三方库——基础模块

 

  • 第三方库——机器学习

 

  • 第三方库——深度学习平台

 

使用 pip 安装扩展包

pip 安装扩展包,以安装 TensorFlow 为例

 pip install tensorflow #安装最新的TensorFlow 模块
 pip install tensorflow = 1.14 #安装版本为 1.14 的TensorFlow 模块
 pip install tensorflow >= 1.14 #安装1.14 以上版本的TensorFlow 模块

pip 卸载某个模块 pip uninstall tensorflow

pip卸载某个模块 pip search tensorflow

pip 显示某个已安装的包 pip list

切换镜像源 因为某些原因,直接使用pip自带的镜像源会出现一些问题

 pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple

pip 更新配置文件,修改默认源

 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

 

常用镜像源

 

数据的导入与导出

获取数据

新建数据框

  1. 如何提供变量列的数据信息

    变量列就是一个有顺序的数据序列,可以看做是一个增强版的list。对应了 numpy 中的 Series 格式偷懒的话可以直接用list

  2. 如何指定数据集的基本结构(变量定义)

    字典格式可以为每个字典元素提供名称。

DataFrame()格式:

 import pandas as pd
 ​
 pd.DataFrame(
     data=None 或 数据列表,字典格式时直接同时提供变量名
     columns=None 或 变量名称列表
 )

 

(按列提供数据):

import pandas as pd
 ​
 df1 = pd.DataFrame(
 {
 'var1': 1.0,
 'var2': [1,2,3,4],
 'var3': ["test","train","test","train"],
 'var4': 'cons'
 }
 )
 print(df1);

输出为:

    var1  var2   var3  var4
 0   1.0     1   test  cons
 1   1.0     2  train  cons
 2   1.0     3   test  cons
 3   1.0     4  train  cons

 

(按行提供数据):

 import pandas as pd
 ​
 df1 = pd.DataFrame(
     columns=['number','fruits'],
     data=[[1,"apple"],
       [2,"banana"],
       [3,"coconut"],
       [4,"peach"]]
 )
 print(df1);

输出为:

    number   fruits
 0       1    apple
 1       2   banana
 2       3  coconut
 3       4    peach

 

Series

  • python 的原生数据结构中没有和数组对应的类型

  • list虽然比较接近数组的需求但是没有索引和排序的功能

  • pd.Series() 可以被理解为带索引结构的有序列表,从而能够更好地满足数据分析的需求

 

 import pandas as pd
 ​
 s1 = pd.Series(["apple","banana","coconut","peach"],name = 'fruits')
 print(s1)

输出为:

 0      apple
 1     banana
 2    coconut
 3      peach
 Name: fruits, dtype: object

 

  • 可以看出,DataFrame中的每一列都是一个Series,二者很多命令相似,可以直接套用。

 

读入文本格式数据文件

 pandas.read_csv(    
     filepath_or_buffer : 要读入的文件路径
     sep = ',' : 列分隔符
     header = 'infer' : 指定数据中的第几行作为变量名
     names = None : 将会被用作索引的列名,多列时只能使用序号列表
     usecols = None : 指定只读入某些列,使用索引列表或者名称列表均可 
     如:[0,1,3]表示只读取0,1,3列
     encoding = None : 读入文件的编码方式 utf-8/GBK,中文数据最好设定为 utf-8
     na_values : 制定将会被读入为缺失值的数值列表,默认下列数据被读入为缺失值:
     '','#N/A','#N/A N/A','#NA','-1.#IND','-1.#IND','-NaN','-nan','1.#IND',
     '1.#QNAN','N/A','NA','NULL','NaN','n/a'.'nan','null'
 ) : 读取csv格式文件,但也可以通用于文本文件读取

 

读入EXCEL文件

 pandas.read_excel(
     filepath_or_buffer: 要读入的文件路径
     sheet_name: 要读入的表单,字符串或者数字符号均可,默认读入第一个
 )

其余方法与pandas.read_csv()类似。

 

数据读入/保存命令总结

数据格式读入命令保存命令
剪贴板read_clipboardto_clipboard
General delimited fileread_table 
Fixed-Width Text Fileread_fwf 
CSVread_csvto_csv
MS Excelread_excelto_excel
OpenDocumentread_excel 
JSONread_jsonto_json
HTMLread_htmlto_html
   
Stataread_statato_stata
SASread_sas 
SPSSread_spasspyreadstat.write_sav
   
SQLread_sql,read_sql_query,read_sql_tableto_sql
   
Google BigQueryread_gbqto_gbq
HDF5 Formatread_hdfto_hdf
Feather Formatread_featherto_feather
Parquet Formatread_parquetto_parquet
ORC Formatread_orc 
Msgpackread_msgpackto_msgpack
Python Pickle Formatread_pickleto_pickle

pandas中将DataFrame转换为其他数据格式的命令

数据格式转换命令
dict格式to_dict
Markdown-friendly 表格格式to_markdown
console-friendly tabular outputto_string
  
NumPy arrayto_numpy
NumPy record arrayto_records
  
latex格式to_latex
parquet formatto_parquet
xarray objectto_xarray
...全文
184 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,040

社区成员

发帖
与我相关
我的任务
社区描述
中南民族大学CSDN高校俱乐部聚焦校内IT技术爱好者,通过构建系统化的内容和运营体系,旨在将中南民族大学CSDN社区变成校内最大的技术交流沟通平台。
经验分享 高校 湖北省·武汉市
社区管理员
  • c_university_1575
  • WhiteGlint666
  • wzh_scuec
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎各位加入中南民族大学&&CSDN高校俱乐部社区(官方QQ群:908527260),成为CSDN高校俱乐部的成员具体步骤(必填),填写如下表单,表单链接如下:
人才储备数据库及线上礼品发放表单邀请人吴钟昊:https://ddz.red/CSDN
CSDN高校俱乐部是给大家提供技术分享交流的平台,会不定期的给大家分享CSDN方面的相关比赛以及活动或实习报名链接,希望大家一起努力加油!共同建设中南民族大学良好的技术知识分享社区。

注意:

1.社区成员不得在社区发布违反社会主义核心价值观的言论。

2.社区成员不得在社区内谈及政治敏感话题。

3.该社区为知识分享的平台,可以相互探讨、交流学习经验,尽量不在社区谈论其他无关话题。

试试用AI创作助手写篇文章吧