对series和dataframe进行排序的实例,对series和data

作者: 韦德国际1946手机版  发布:2019-05-28

本问主要写依照目录只怕值对series和dataframe进行排序的实例疏解

对series和dataframe进行排序的实例,对series和dataframe进行排序。本问重要写依照目录恐怕值对series和dataframe实行排序的法子

需求:

在大数据剖判中,比较常用的多个数据拆解分析包正是numpy和pandas,而pandas就是基于numpy创设的含有更高档数据结商谈工具的数额分析包,在财政和经济领域选用越来越普及。在实际的工程中,平常遇上的难点就算numpy的ndarray数据结构与pandas的series和dataframe数据结构之间的并行转换难题。未来本身分三种意况,在python程序中列一下互转的情况,应该比较全面了。

代码:

代码:

多个文件,一个文件为总结报表,里面含有手提式有线电话机号,另1个文本为手提式无线电话机号段归属地,含有手提式无线电话机号码前伍人对应的地段。须求对总括报表进行拍卖,将手机号所在的着落地进入到总结报表中,使用pandas提供的join功能来兑现,代码如下:

情形1:输入的数额data为list

#coding=utf-8
import pandas as pd
import numpy as np
#以下实现排序功能。
series=pd.Series([3,4,1,6],index=['b','a','d','c'])
frame=pd.DataFrame([[2,4,1,5],[3,1,4,5],[5,1,4,2]],columns=['b','a','d','c'],index=['one','two','three'])
print frame
print series
print 'series通过索引进行排序:'
print series.sort_index()
print 'series通过值进行排序:'
print series.sort_values()
print 'dataframe根据行索引进行降序排序(排序时默认升序,调节ascending参数):'
print frame.sort_index(ascending=False)
print 'dataframe根据列索引进行排序:'
print frame.sort_index(axis=1)
print 'dataframe根据值进行排序:'
print frame.sort_values(by='a')
print '通过多个索引进行排序:'
print frame.sort_values(by=['a','c'])
#coding=utf-8
import pandas as pd
import numpy as np
#以下实现排序功能。
series=pd.Series([3,4,1,6],index=['b','a','d','c'])
frame=pd.DataFrame([[2,4,1,5],[3,1,4,5],[5,1,4,2]],columns=['b','a','d','c'],index=['one','two','three'])
print frame
print series
print 'series通过索引进行排序:'
print series.sort_index()
print 'series通过值进行排序:'
print series.sort_values()
print 'dataframe根据行索引进行降序排序(排序时默认升序,调节ascending参数):'
print frame.sort_index(ascending=False)
print 'dataframe根据列索引进行排序:'
print frame.sort_index(axis=1)
print 'dataframe根据值进行排序:'
print frame.sort_values(by='a')
print '通过多个索引进行排序:'
print frame.sort_values(by=['a','c'])
#coding=utf-8
from pandas import Series,DataFrame
import pandas as pd
#reader1 = pd.read_csv('Dm_Mobile.txt',iterator=True,encoding="gb2312")
#df1 = reader1.get_chunk(10)
#reader2 = pd.read_csv('201604.csv',iterator=True,encoding="gb2312")
#df2 = reader.get_chunk(10)

#读取两个csv文件,生成dataframe
df1 = pd.read_csv('Dm_Mobile.csv',encoding="gb2312")
df2 = pd.read_csv('201604.csv',encoding="gb2312")

#截取手机号前七位,作为新列添加到dataframe
df2['p7s'] = Series([str(x)[:7] for x in Series(df2[u'手机号'])])
df2['p7i'] = df2['p7s'].astype("int64")

#在两个dataframe的手机前七位列上创建索引
index_df1 = df1.set_index('MobileNumber')
index_df2 = df2.set_index(['p7i'])

#以手机号前七位列为join列,对两个dataframe进行join
result = pd.concat([index_df1, index_df2], axis=1, join='inner')

#选取需要显示的列,重新生成result
result = result.reindex(columns=[u'积分商城订单号', u'手机号',u'产品编码',u'商品名称',u'商品价格',u'数量',u'虚拟码',u'消费时间',u'时间',u'兑换渠道商',u'MobileArea'])

#写入到excel文件中
writer = pd.ExcelWriter('pandas_simple.xlsx')
result.to_excel(writer, sheet_name=u'设计院',index=False)
writer.save()

直接使用 pandas 的 Series 和 DataFrame,调换就能够,要求增加索引等参数

实验结果:

推行结果:

上述那篇使用pandas对三个dataframe进行join的实例正是小编分享给我们的全体内容了,希望能给大家3个参照,也期待我们多多补助脚本之家。

图片 1

  b a d c
one 2 4 1 5
two 3 1 4 5
three 5 1 4 2

b 3
a 4
d 1
c 6
dtype: int64

       b  a  d  c
one    2  4  1  5
two    3  1  4  5
three  5  1  4  2
b    3
a    4
d    1
c    6
dtype: int64
series通过索引进行排序:
a    4
b    3
c    6
d    1
dtype: int64
series通过值举办排序:
d    1
b    3
a    4
c    6
dtype: int64
dataframe依照行索引实行降序排序(排序时私下认可升序,调整ascending参数):
       b  a  d  c
two    3  1  4  5
three  5  1  4  2
one    2  4  1  5
dataframe依照列索引实行排序:
       a  b  c  d
one    4  2  5  1
two    1  3  5  4
three  1  5  2  4
dataframe依据值举行排序:
       b  a  d  c
two    3  1  4  5
three  5  1  4  2
one    2  4  1  5
由此四个目录进行排序:
       b  a  d  c
three  5  1  4  2
two    3  1  4  5
one    2  4  1  5
[Finished in 1.0s]

你恐怕感兴趣的篇章:

  • python pandas dataframe 按列恐怕按行合并的不二秘诀
  • Pandas:DataFrame对象的底子操作方法
  • python pandas中DataFrame类型数据操作函数的点子
  • pandas中的DataFrame按钦命顺序输出全体列的章程

动静二:输入的多寡data为dict

本文由韦德国际1946发布于韦德国际1946手机版,转载请注明出处:对series和dataframe进行排序的实例,对series和data

关键词: ndarr pandas numpy series DataFrame

上一篇:【韦德国际1946手机版】删去特定行内容
下一篇:没有了