目录
np.array.all() 、np.array.any()
获取值df.columns.values、df.index.values
Numpy
操作指令
-
np.delete(array,obj,axis)
array:需要处理的矩阵
obj:需要处理的位置(索引),比如取0或1就代表要删除的第一行或者第二行
axis:
如果输入为None:array会先按行展开,然后按照obj,删除对应这个索引位置的数(索引从0开始),返回一个行矩阵。
如果输入为0:按行删除
如果输入为1:按列删除
-
np.nuique()
对于一维数组或者列表,np.unique() 函数 去除其中重复的元素 ,并按元素 由小到大 返回一个新的无元素重复的元组或者列表
set()
set是一个不允许内容重复的组合,而且set里的内容位置是随意的,所以不能用索引列出。可进行关系测试,删除重复数据,还可以计算交集、差集、并集等
np.array.all() 、np.array.any()
all()判断整个数组中的元素的值是否全部满足条件,如果满足条件返回True,否则返回False
np.array.any()是或操作,任意一个元素为True,输出为True
np.delete()
array:需要处理的矩阵
obj:需要处理的位置,比如要删除的第一行或者第一行和第二行
axis:
如果输入为None:array会先按行展开,然后按照obj,删除第obj-1(从0开始)位置的数,返回一个行矩阵。
如果输入为0:按行删除
如果输入为1:按列删除
Pandas
操作指令
-
添加新列+lambda
df = pd.DataFrame({'a':np.random.randn(6),
'b':np.random.randn(6),
'c':np.random.randn(6)})
def my_test(a,b):
return a+b#添加新列'value'
df['value'] = df.apply(lambda row : my_test(row['a'],row['c']),axis=1)
-
处理NaN值
丢掉所在行
df.dropna(axis=0,how='any')
一行全为NaN才丢掉
df.dropna(axis=0,how='all')
对NaN处的数据进行填补
df.fillna(value=0)
判断是否有数据缺失,以表格形式返回true/false
df.isnull()
检查一个表格中是否存在NaN值
df.any(df.isnull() == True)
-
读取表格
import pandas as pd
data = pd.read_csv('表格名.csv')#会自动加索引
-
获取值
df.columns.values、df.index.values
获取列名:
df.columns.values
获取
index
(行索引)名:df.index.values
获取行数:
df.shape[0]
获取列数 :
df.shape[1]
获取具体的某一个值:
df.iloc[i, j]
-
批量处理apply()
apply(self, func, axis=0, raw=False, result_type=None, args=(), **kwds):
func: 应用于每一列或每一行的函数
axis: 设置批处理函数按列还是按行应用,0或index表示按列应用函数,1或columns表示按行应用函数,默认值为0。
raw: 设置将列/行作为Series对象传递给函数,还是作为ndarray对象传递给函数。raw是bool类型,默认为False。
result_type: 当axis=1时,设置返回结果的类型和样式,支持{‘expand’, ‘reduce’, ‘broadcast’, None}四种类型,默认为None。
expand: 列表式的结果将被转化为列。reduce: 如果可能的话,返回一个Series,而不是返回列表式的结果。这与expand相反。
broadcast: 结果将被广播成DataFrame的原始形状,DataFrame的原始索引和列将被保留。
None: 结果取决于应用函数的返回值,列表式的结果将以Series形式返回,如果应用函数返回Series将会扩展到列。
pd.read_csv()读取表格
pd.read_csv(路径,nrows=35000)#只读取前35000行
DataFrame
函数汇总
iterrows() 遍历每行数据
df.iterrows()返回所有的行索引,以及该行的所有内容
for index, row in curgroup.iterrows():#index是行索引,row是每行的数据
row["laneletId"]#取到row中某一单元格的值
df.drop() 删除指定行/列数据
# 删除指定的一行,inplace=True表示对原数据进行修改
df.drop(index=row_index, axis=0, inplace=True)
# 删除指定的一列
df.drop(columns=column_label, axis=1, inplace=True)