这是一篇最基础的Pandas用法总结,也方便自己日后进行复习与查询。
1. 创建Series的三种方法
1.1 基于Python中的列表创建
myList = ['a', 'b', 'c', 'd'] # 创建一个列表
s1 = pd.Series(data = myList)
print(s1)
--------------------------------
输出:
0 a
1 b
2 c
3 d
dtype: object
注意:
创建时data参数名可以省略
输出中左边的那一列叫做索引,默认为从0开始的递增整数。
索引是用来做什么的呢,就像字典中的key一样,可以根据key直接查找到它所对应的值。
例如:
print(s1[1])
[out]:
'b'
1.2 基于numpy中的数组创建
myArray = np.array([5, 15, 25, 35]) # 创建一个numpy一维数组
print(myArray)
'''
[out]:
array([ 5, 15, 25, 35])
'''
s2 = pd.Series(data = myArray)
print(s2)
--------------------------------
[out]:
0 5
1 15
2 25
3 35
dtype: int32
1.3 基于Python中的字典创建
myDict = {'张三':89, '老八':75, '小郭':97}
s3 = pd.Series(data = myDict)
print(s3)
--------------------------------
[out]:
张三 89
老八 75
小郭 97
dtype: int64
注意:
在该种方法中,字典的key为该Series的索引
2. 创建DataFrame的四种方法
创建DataFrame的前三种方法与上述创建Series的方法类似,只不过把数据从一维扩展到了二维。
2.1 基于Python中的列表创建
myList2 = [['a', 'b', 'c'], [10, 20, 30], [1.1, 2.2, 3.3]] # 这是一个嵌套列表
df1 = pd.DataFrame(data = myList2)
print(df1)
--------------------------------
[out]:
0 1 2
0 a b c
1 10 20 30
2 1.1 2.2 3.3
注意:郑州妇科医院哪家好 https://yiyuan.120ask.com/zzfck/
在DataFrame中有两种索引,一种叫行索引,即为最左侧的那一列,默认从0递增的整数。通过它能定位到某一行的所有数据。
另一种叫列索引,即为最上方的那一行,默认从0自增的整数。通过它能定位到某一列的所有数据。(DataFrame中数据的定位方法比较多样,且比Series复杂,我们放到以后的文章中专门讲解,这里只有个基本概念就好)
嵌套列表中,大列表下的每一个小列表,在创建的DataFrame中为一横行。
2.2 基于numpy中的数组创建
myArray2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 创建了一个二维数组
print(myArray2)
'''
[out]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
'''
df2 = pd.DataFrame(data = myArray2)
print(df2)
--------------------------------
[out]:
0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
2.3 基于Python中的字典创建
myDict2 = {'id':[1,2,3],'name':['Alice','Bob','Cindy'],'math':[90,89,99]}
df3 = pd.DataFrame(data = myDict2)
print(df3)
--------------------------------
[out]:
id name math
0 1 Alice 90
1 2 Bob 89
2 3 Cindy 99
注意:
在刚才创建Series时,字典的每一个key对应一个value,而创建DataFrame时,字典的每一个key都对应一个列表
字典的key成为了该DataFrame中的列索引
2.4 基于Series创建
把我们在第一部分创建的s1和s2拿来,创建一个字典
myDict3 = {'one': s1, 'two': s2}
df4 = pd.DataFrame(data = myDict3)
print(df4)
--------------------------------
[out]:
one two
0 a 5
1 b 15
2 c 25
3 d 35