A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Mr.TR 于 2018-6-9 16:22 编辑

一,首先关于pandas的基础知识及数据结构整理了一份思维导图,以图片的形式展示出来。






二,以短平快的方式来做一个pandas的快速入门。


1,对象创建


A:  通过传递值列表来创建一个系列,让Pandas创建一个默认的整数索引
  代码:
  
[Python] 纯文本查看 复制代码
import pandas as pd
import numpy as np

s = pd.Series([1, 3, 5, np.nan, 6, 8])
print(s)


  结果截图:
  

  B: 通过传递numpy数组,使用datetime索引和标记列来创建DataFrame
  代码:
  
[Python] 纯文本查看 复制代码
import pandas as pd
import numpy as np

dates = pd.date_range('20170101', periods=7)
print(dates)
print("--"*16)
df = pd.DataFrame(np.random.randn(7,4), index=dates, columns=list('ABCD'))
print(df)

  结果截图:
  

  C:通过传递可以转换为类似系列的对象的字典来创建DataFrame
  代码:
  
[Python] 纯文本查看 复制代码
import pandas as pd
import numpy as np

df2 = pd.DataFrame({ 'A' : 1.,
                     'B' : pd.Timestamp('20170102'),
                     'C' : pd.Series(1,index=list(range(4)),dtype='float32'),
                     'D' : np.array([3] * 4,dtype='int32'),
                     'E' : pd.Categorical(["test","train","test","train"]),
                     'F' : 'foo' })

print(df2)

  结果截图:
  


2,查看数据


  A:查看dataframe顶部和底部的数据行。
  代码:
  
[Python] 纯文本查看 复制代码
import pandas as pd
import numpy as np

dates = pd.date_range('20170101', periods=7)
df = pd.DataFrame(np.random.randn(7,4), index=dates, columns=list('ABCD'))
print(df.head())  # 顶部
print("--------------" * 10)
print(df.tail(3))  # 底部


  结果截图:
  

  B: 显示索引,列和numpy数据
  代码:
  
[Python] 纯文本查看 复制代码
import pandas as pd
import numpy as np

dates = pd.date_range('20170101', periods=7)
df = pd.DataFrame(np.random.randn(7, 4), index=dates, columns=list('ABCD'))
print("index is :")
print(df.index)
print("columns is :")
print(df.columns)
print("values is :")
print(df.values)

  结果截图:
  

  C:描述显示数据的快速统计摘要


  代码:
  
[Python] 纯文本查看 复制代码
import pandas as pd
import numpy as np

dates = pd.date_range('20170101', periods=7)
df = pd.DataFrame(np.random.randn(7,4), index=dates, columns=list('ABCD'))
print(df.describe())



  结果截图:
  

  D:调换数据

  代码:
  
[Python] 纯文本查看 复制代码
import pandas as pd
import numpy as np

dates = pd.date_range('20170101', periods=6)
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
print(df.T)


  结果截图:
  

  F:通过轴排序  代码:
  
[Python] 纯文本查看 复制代码
import pandas as pd
import numpy as np

dates = pd.date_range('20170101', periods=6)
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
print(df.sort_index(axis=1, ascending=False))

  结果截图:
  

  G:按值排序
  代码:
  
[Python] 纯文本查看 复制代码
import pandas as pd
import numpy as np

dates = pd.date_range('20170101', periods=6)
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
print(df.sort_values(by='B'))


  结果截图:
  
  随机值,每次执行结果数据会不同,但是B列是从小到大排序











1 个回复

倒序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马