1、去重,并将数据放到列表里面
class_list =list(df["店铺"].drop_duplicates()) # 去重,得到店铺这一列的数据
df2=pd.DataFrame(class_list,columns=['店铺']) # 将数据放入DataFrame中
2、连接两个表 merge函数
merge( self, right, how="inner", on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=("_x", "_y"), copy=True, indicator=False, validate=None,)
left:参与合并的左侧DataFrame
right:参与合并的右侧DataFrame
how:连接方式:‘inner’(默认);还有,‘outer’、‘left’、‘right’
on:用于连接的列名,必须同时存在于左右两个DataFrame对象中,如果位指定,则以left和right列名的交集作为连接键
left_on:左侧DataFarme中用作连接键的列
right_on:右侧DataFarme中用作连接键的列
left_index:将左侧的行索引用作其连接键
right_index:将右侧的行索引用作其连接键
sort:根据连接键对合并后的数据进行排序,默认为True。有时在处理大数据集时,禁用该选项可获得更好的性能
suffixes:字符串值元组,用于追加到重叠列名的末尾,默认为(‘_x’,‘_y’).例如,左右两个DataFrame对象都有‘data’,则结果中就会出现‘data_x’,‘data_y’
copy:设置为False,可以在某些特殊情况下避免将数据复制到结果数据结构中。默认总是赋值。
3、将使用groupby()函数分组后形成的索引恢复成多列。
df.reset_index(inplace =True)
4、将数据划分范围
pd.cut()
例如:pd.cut(data['zkl'],bins=np.linspace(0,1,21))
5、使用concat()函数,可以实现纵向合并。
df1 = pd.DataFrame([['a', 1], ['b', 2]],columns=['letter', 'number'])
df2 = pd.DataFrame([['c',3], ['d',4]],columns=['letter', 'number'])
pd.concat([df1,df2])
6、astype()函数可用于转化dateframe某一列的数据类型
如将df的“订单编号”这一列,转化为字符串类型。
字符转换,可参考:Pandas数据类型转换的几个小技巧 - 知乎
df['订单编号'].astype(str)
7、lambda()函数
lambda函数可以使用任意数量的参数,但只能有一个表达式。
用法:lambda argument: manipulate(argument)
参数:argument就是这个匿名函数传入的参数,冒号后面是我们对这个参数的操作方法
8、columns
(df.columns.to_list())
#把列名以列表的方式输出
9、break、continue、return
break:跳出所在的当前整个循环,到外层代码继续执行。
continue:跳出本次循环,从下一个迭代继续运行循环,内层循环执行完毕,外层代码继续运行。
return:直接返回函数,所有该函数体内的代码(包括循环体)都不会再执行。
10、取数据中不为空的行。
the_titanic = titanic[~np.isnan(titanic['age'])]
11、DataFrame转list
hop_list1=Datatemp['店铺'].drop_duplicates().tolist()
12、列表转DataFrame
第一种:两个不同列表转换成为数据框
第二种:将包含不同子列表的列表转换为数据框
from pandas.core.frame import DataFrame
a=[1,2,3,4] #列表a
b=[5,6,7,8] #列表b
c={"a":a,
'b':b} #将列表a,b装换成字典
data=DataFrame(c)
print(data)
from pandas.core.frame import DataFrame
a=[[1,2,3,4],[5,6,7,8]]#包含两个不同的子列表[1,2,3,4]和[5,6,7,8]
data=DataFrame(a)#这时候是以行为标准写入的
data=data.T#转置之后得到想要的结果
data.rename(columns={0:'a',1:'b'},inplace=True)#注意这里0和1都不是字符串
print(data)
13、去除列表中的空值
while '' in list:
list.remove('')
14、字符串拆分多列
例如:以逗号拆分字符串
b.split(',')
15、SQL去掉空格
去掉左边空格 SELECT LTRIM(pus.USER_CNAME) from u_base_user pus
去掉右边空格 SELECT RTRIM(pus.USER_CNAME) from u_base_user pus
去掉两把空格 SELECT TRIM(pus.USER_CNAME) from u_base_user pus
————————————————
版权声明:本文为CSDN博主「一片星空~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44691484/article/details/106604634
16、将一列展开为多列。
guige = Data['规格2'].str.split(',',expand = True)
print(Data['规格2'])
Data[['尺寸','sku数量','材质','厚度']] = guige