python pandas处理数据的优点_python数据处理——pandas的基本使用(一)

1.1 文本读取,pd.read_csv(),pd.read_table();

pandas 读取文本(txt、excel)中会常用到两个函数:read_csv() 和 read_table() ;两个函数出去读取文本不一样之外,读取文本时前者是以,(逗号)为分隔符读取,后者以 tab(空格)为 分隔符进行读取的,把读取到的文本转化成二维 Dataframe 数据格式,直观整洁以便后续处理,以 pd.read_table()为例:

pd.read_table()用到的参数有:

Snipaste_2020-02-10_16-20-30.jpg

里面参数很多,但常用到的下面几个

filepath,欲读取的txt、csv文件、网页内容;

seq ,分割符来对字符串进行表格划分,一般来说 read_table()默认的为 tab(空格),read_csv() 默认为,(逗号),可以根据具体情况自己设置;

usercols,可以设置提取自己需要的列名;

下面就是一个url网址内容,文本之间以 Tab键 作为分隔符:

Snipaste_2020-02-10_16-32-39.jpg

利用 pandas 对里面的内容进行读取,展示如下:

url ='http://bit.ly/chiporders'

df1 =pd.read_table(url)

# 读取前5行数据

df1.head()

Snipaste_2020-02-10_16-43-46.jpg

# usecols 参数作为选取特定的列;

df = pd.read_table(url,usecols = ['order_id','item_price'])

df.head()

Snipaste_2020-02-10_16-55-03.jpg

不设置第一行为列名

#header默认为0,即以第一列为列名,这里设为None,意味不设置第一行为列名;

df11 = pd.read_table(url,header =None)

df11.head()

Snipaste_2020-02-10_16-55-11.jpg

1.2 读取时用names修改列名

#names =***,可以自定义设置列名

user_cols = ['id','quantity','name','choice','price']

df= pd.read_table(url,header =None,names = user_cols)

df.head()

Snipaste_2020-02-10_20-53-36.jpg

1.3 用describe()函数对描述大致数据

#对整个Dataframe各列做个基本统计;

# count:数

# unique: 总体分为3类;

# top:频率最高的value;

# freq:出现频率最高的次数;

df.describe()

Snipaste_2020-02-10_21-05-28.jpg

1.4 shape函数返回二维数据的列数、行数

df.shape#查看Dataframe的整体数据

Snipaste_2020-02-10_21-05-56.jpg

1.5 读取到的 Dataframe 每一列数据类型为Series;

#列出某一列的数据,为一个series数据

df['name']#也可以df.name

print(type(df['name']))

Snipaste_2020-02-10_21-06-10.jpg

1.6 处理数据中时利用columns改变列名:

#在Dataframe数据中更改列名,在每个列名后面加一个‘_’;

df.columns = [str(i)+'_' for i in df.columns]

df

Snipaste_2020-02-10_21-06-24.jpg

1.7 利用drop函数删除特定的列;

#pd.DataFrame去除某一列,用到的函数drop,

# 第一个参数为单个标签或多个标签;

# axis表示欲删除的为行或者列,0为行,1为列;

# inplace =True,以及操作

df1 =df

df1.drop(['name_','choice_'],axis = 1,inplace = True)

df1.head()

Snipaste_2020-02-10_21-06-35.jpg

1.8 利用map函数对列中数据格式进行变换;

#对某一列数据进行修改;把price_中的$变成¥;利用lambda映射;

df['price_'] = df['price_'].map(lambda x:str(x).replace('$','¥'))

df

Snipaste_2020-02-10_21-06-48.jpg

1.9 to_csv将 Dataframe数据直接写到csv文件中;

#将 Dataframe写出csv文件,

# 第一个参数描述欲输出的文件名,若提供的为None,则返回的是string;

# index表示行索引,默认为True,

# header = True表示的是不保存列名。

# encoding = 'gbk',输入编码方式为gbk

df.to_csv('E:/ceshi/ab.csv',index =False,header =True,encoding = 'gbk')

Snipaste_2020-02-10_21-17-50.jpg

注:上面的代码运行都是在jupyter notebook编辑器上进行的!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值