照着网上例子敲了一边,理解一下。
pandas 学习中文网站:https://www.pypandas.cn/deep/
import numpy as np
import pandas as pd
# 创建一个Dataframe
data = pd.DataFrame(np.arange(16).reshape(4, 4), index=list('abcd'), columns=list('ABCD'))
print(data)
"""
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
"""
# 取索引为'a'的行
#print(data.loc['a'])
# 取第一行数据,索引为'a'的行就是第一行,所以结果相同
#print(data.iloc[0])
"""
A 0
B 1
C 2
D 3
"""
#取'A'列所有行,多取几列格式为 data.loc[:,['A','B']]
#print(data.loc[:,['A','B']])
#取第0列所有行,多取几列格式为 data.iloc[:,[0,1]]
#print(data.iloc[:,[0,1]])
"""
A B
a 0 1
b 4 5
c 8 9
d 12 13
"""
#提取index为'a','b',列名为'A','B'中的数据
#print(data.loc[['a','b'],['A','B']])
#提取第0、1行,第0、1列中的数据
#print(data.iloc[[0,1],[0,1]])
"""
A B
a 0 1
b 4 5
"""
# 取A,B,C,D列的所有行
#print(data.loc[:,:])
#取第0,1,2,3列的所有行
#print(data.iloc[:,:])
"""
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
"""
#print(data.iloc[1:3,1:3])
"""
B C
b 5 6
c 9 10
"""
#返回值满足,{A列含有数值[4,8]}
flag=data['A'].isin([4,8]);
#print(flag)
#print(data[flag])
#返回含有条件所在行的行号(Index)
##print(list(data[flag].index))
"""
a False
b True
c True
d False
A B C D
b 4 5 6 7
c 8 9 10 11
['b', 'c']
"""
#逆函数 剔除{A列含有数值[4,8]}的dataframe
flag=~flag
#print(flag)
#print(data[flag])
#返回含有条件所在行的行号(Index)
#print(list(data[flag].index))
"""
a True
b False
c False
d True
A B C D
a 0 1 2 3
d 12 13 14 15
['a', 'd']
"""
#取 data中行名为a,列名为A的值
#print(data.at['a','A'])
#data中第1行,第1列的值
#print(data.iat[0,0])
"""
0
"""
#利用at、iat赋值给某行某列
data.at['a','A']=1314 # 等价于 data.iat[0,0]=1314
print(data)
"""
A B C D
a 1314 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
"""