dic_data = {‘a’:12,‘b’:14,‘c’:20}
obj = pd.Series(dic_data)
obj
ans:
使用字典的方式创建
a 12
b 14
c 20
dtype: int64
DataFrame
DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。
pandas.DataFrame( data, index, columns, dtype, copy)
参数说明:
data:一组数据(ndarray、series, map, lists, dict 等类型)。
index:索引值,或者可以称为行标签。
columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。
dtype:数据类型。
copy:拷贝数据,默认为 False。
- 创建方式1
import numpy as np
import pandas as pd
arr_data = np.array([[‘a’,‘b’,‘c’,],[‘d’,‘e’,‘f’]])
pd.DataFrame(arr_data)
ans:
基于数组创建
0 1 2
0 a b c
1 d e f
- 创建方式2
import numpy as np
import pandas as pd
arr_data = np.array([[‘a’,‘b’,‘c’,],[‘d’,‘e’,‘f’]])
pd.DataFrame(arr_data, columns=[‘N1’, ‘N2’, ‘N3’])
ans:
指定索引创建
N1 N2 N3
0 a b c
1 d e f
- 根据索引获取值
import numpy as np
import pandas as pd
arr_data = np.array([[‘a’,‘b’,‘c’,],[‘d’,‘e’,‘f’]])
obj=pd.DataFrame(arr_data, columns=[‘N1’, ‘N2’, ‘N3’])
obj[‘N2’] # 根据索引获取值
ans:
0 b
1 e
Name: N2, dtype: object
- 通过属性访问
import numpy as np
import pandas as pd
arr_data = np.array([[‘a’,‘b’,‘c’,],[‘d’,‘e’,‘f’]])
obj=pd.DataFrame(arr_data, columns=[‘N1’, ‘N2’, ‘N3’])
obj.N2 # 通过属性访问
ans:
0 b
1 e
Name: N2, dtype: object
- 添加数据
import numpy as np
import pandas as pd
arr_data = np.array([[‘a’,‘b’,‘c’,],[‘d’,‘e’,‘f’]])
obj=pd.DataFrame(arr_data, columns=[‘N1’, ‘N2’, ‘N3’])
obj[‘N4’]=[‘f’,‘g’] # 按索引添加数据
obj
ans:
N1 N2 N3 N4
0 a b c f
1 d e f g
- 删除数据
import numpy as np
import pandas as pd
arr_data = np.array([[‘a’,‘b’,‘c’],[‘d’,‘e’,‘f’]])
obj=pd.DataFrame(arr_data, columns=[‘N1’, ‘N2’, ‘N3’])
obj[‘N4’]=[‘f’,‘g’]
del obj[‘N2’] # del 删除数据
obj
ans:
N1 N3 N4
0 a c f
1 d f g
Pandas索引操作以及高级索引
索引对象
Pandas中的索引都是index对象,又称为索引对象,该对象不可修改。
索引对象不可修改的特性非常重要,这样使得多个数据结构之间能够很安全的共享index对象。
obj1=pd.Series(range(3),index=[‘a’,‘b’,‘c’])
obj2=pd.Series([‘a’,‘b’,‘c’],index=obj1.index)
obj1.index is obj2.index
ans:
True