本帖最后由 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列是从小到大排序
|