记录下平时在进行数据处理所遇到的一些问题和解决方法:
1.merge合并表格数据
使用pd.merge合并两个datafrme数据时,会多出数据条数来。可使用drop_duplicates()函数去掉重复数据。
2.对于datafrme数据在固定某列后添加数据:
col_name=data.columns.tolist() #获取数据的列名
col_name.insert(col_name.index('A')+1, 'B') #在 A 列后面插入B
data = data.reindex(columns=col_name) #重新赋值下data列名
如果你想把已在这个dataframe中的某列移动过来,可以先将这列的值赋值给B,删除掉这列后,然后再把B的列名重新修改为这列名字。
col_name=data.columns.tolist()
col_name.insert(col_name.index('A')+1, 'B_1') #在 A列后面插入
data = data.reindex(columns=col_name)
data['B_1'] = data['B'] #B列值赋值给B_1列
data.drop(['B'], axis=1, inplace=True)
data.rename(columns={'B_1': 'B'}, inplace=True) #将B_1的列名修改为B
3. 两个数据列名相同,但是可能列排列的顺序不同。
在进行两张数据表拼接的过程中,发现两张表中列数和列名是一样的,但是因为有些列排列的顺序不同,直接不能使用pd.concat()拼接,因为concat是按照列名一一拼接数据。
所以需要将两张表数据列名修改成一样。代码如下:
data_1.reindex(index=data_1.columns, columns=data.columns)
4.多行数据去重
newdata.drop_duplicates(subset=[],keep = False)
keep = False,表示的是去掉所有重复行
keep = ‘first’,表示的是保留第一个出现重复行
keep=‘last’,表示保留最后一次出现重复行