日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python数据清洗基本流程

發布時間:2025/3/17 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python数据清洗基本流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

# -*- coding: utf-8 -*-
"""
Created on Wed Jul 4 18:40:55 2018

@author: zhen
"""

import pandas as pd
import numpy as np
# 創建空的df,保存測試數據
test_df = pd.DataFrame({'K1':['C1','C1','C2','C3','C4','C2','C1'],'K2':['A','A','B','C','D',np.NaN,np.NaN]})
# 按K1列進行分組,組內進行unique操作(去除重復元素,返回元組或列表)
test_df_unique = pd.DataFrame(test_df.groupby(['K1'])['K2'].agg('unique'))
# 自定義函數判斷元組中是否含有nan
def has_nan(list):
  flag = False
  for x in list:
    if x is np.NaN:
      flag = True
      break
  return flag
# 自定義函數判斷元組中是否不含有nan
def no_nan(list):
  flag = True
  for x in list:
    if x is np.NaN:
      flag = False
      break
  return flag
# 獲取k2列含有nan的數據
test_df_unique_has_nan = test_df_unique[test_df_unique['K2'].apply(has_nan)]
# 獲取k2列不含有nan的數據
test_df_unique_no_nan = test_df_unique[test_df_unique['K2'].apply(no_nan)]
# 管理測試數據,獲取源數據
test_df_get = test_df[test_df['K1'].isin(test_df_unique_has_nan.index.tolist())]
test_df_alone = test_df[test_df['K1'].isin(test_df_unique_no_nan.index.tolist())]
# 去除含nan的重復數據
test_df_get_nonan = test_df_get[~test_df_get['K2'].isna()]
# 組合數據
result = test_df_get_nonan.append(test_df_alone)
# 去重,得到最終結果
result_save = result.drop_duplicates(subset=['K1','K2'],keep='last')
# 結果落地
result_save.to_excel('C:/Users/zhen/Desktop/數據清洗之去重.xlsx')

測試數據:

?

?結果:

?

轉載于:https://www.cnblogs.com/yszd/p/9266884.html

總結

以上是生活随笔為你收集整理的Python数据清洗基本流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。