pandas应知必会

发布时间 2023-11-28 16:52:39作者: airgeek
# 创建df
columns = [A,B,C,D] data = [[1,2,3,4],[5,6,7,8]] df = pd.DataFrame(data,columns=columns)
# 对某列求和
df[A].sum() #普通求和
df[(df['是否下单'] == '下单' )].sum() #筛选求和
# 添加一列, axis=1,指定计算的方向是行而不是列,apply()对元素进行逐元素遍历操作
data["x1"]=data[[A,B]].apply(lambda x:x[A]+x[B],axis=1)
# 将列筛选、转换为dict
df[(df['是否下单'] == '下单' ) & (~df['销售id'].isin(KA_中B))].groupby(['售卖区'])['商户id'].count().to_dict()
df.loc[条件,取列]#df.loc[(df[A]=1),B]
# 条件计数
len(df[df['销售id'].isin(中B)])
len(df[(df['是否下单'] == '下单' ) & (df['销售id'].isin(中B))])
# 排序:先按col_b列降序,再按col_a列升序排序
df.sort_values(by=['col_b','col_a'],axis=0,ascending=[False,True])
# 限制返回、切片、limit、offset、first、last
df.iloc[:10] #行筛选
df.loc[:,[A,B]] #列筛选
df.get() #指定索引位置的行或列
# 逐行计算
df['col2'] = df['col1'].map(lambda x: x**2)
# 遍历
for i in df.head(10).itertuples():
print(i[1])