国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python:pandas庫sort_values()方法的使用

這篇具有很好參考價值的文章主要介紹了Python:pandas庫sort_values()方法的使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、起因

今天做到北京瑪達科技有限公司2021數(shù)據(jù)處理工程師筆試題,有一題是這樣:

pandas sort_values,筆記,Python,pandas,python,數(shù)據(jù)分析
按照文件中單詞出現(xiàn)頻次由高往低依次排序,這個對我來說很好實現(xiàn),用上 pandas 的 sort_values 方法就手到擒來。但是他后面又加上了一個條件,如果頻次相同的情況下,按照單詞的 MD5 值排序。這可把我迷住了:

  • 先用sort_values方法,頻次由高往低依次排,再把頻次相同單獨拿出來再用 MD5 排?(因為sort_values排序后,同一頻次的單詞順序會改變)
  • 還是先 MD5 排,再在不改變同一頻次的單詞順序情況下,頻次由高往低依次排?

最后去看了有關于 sort_values 的文檔,成功解決先把單詞出現(xiàn)頻次由高往低依次排序,再把頻次相同的情況下的單詞按照 MD5 值排序這個問題,下面我?guī)Т蠹一仡櫼幌?Python pandas sort_values() 方法的使用

2、sort_values() 函數(shù)說明

pandas 庫的 sort_values() 函數(shù)可以對 Dataframe 的數(shù)據(jù)集按照某個字段中的數(shù)據(jù)進行排序。該函數(shù)可以指定列數(shù)據(jù)或行數(shù)據(jù)進行排序,可以是單個,也可以是 多個(以前經常用來處理單列/行數(shù)據(jù),忘記了 sort_values() 也可以處理多列/行數(shù)據(jù))。 series 也有 一個 sort_values() 函數(shù),但在參數(shù)上稍有區(qū)別。

官方文檔:pandas.Series.sort_values 和 pandas.DataFrame.sort_values

3、sort_values() 具體參數(shù)

格式如下:

DataFrame.sort_values(by=‘進行排序的列名或索引值’, axis=0, ascending=True, inplace=False, kind=‘quicksort’, na_position=‘last’, ignore_index=False, key=None)
參數(shù) 說明
by 指定要進行排序的列名或索引值
axis 若 axis=0 或 ‘index’,則按照指定 的數(shù)據(jù)大小排序;若 axis=1 或 ‘columns’,則按照指定 索引 中數(shù)據(jù)大小排序。默認axis=0
ascending 若 ascending=True,則按照升序排序;若 ascending=False,則按降序排序,默認為True,即升序排序。如果這是一個 bool 列表,則必須匹配 by 的長度
inplace 排序后的數(shù)據(jù)是否替換原來的數(shù)據(jù),默認為False,即不替換
ignore_index 是否重置索引,默認為不重置

4、sort_values() 使用

4.1 單列/行排序

import pandas as pd
df = pd.read_csv('test.csv')
# 根據(jù)hello列降序排序
data = df.sort_values(by="hello", ascending=False, ,axis=0)
# axis=0表示按列,同理axis=1表示按行

4.2 多列/行排序

import pandas as pd
df = pd.read_csv('test.csv')
# 根據(jù)第一列降序排序,當?shù)谝涣邢嗤瑫r,根據(jù)第三列進行升序排序。并且重置索引,替換原數(shù)據(jù)
data = df.sort_values(by = ['col1','col3'],ascending=[False,True],ignore_index=True,inplace=True)

5、應用

所以一開始那道題我這樣寫的:文章來源地址http://www.zghlxwxcb.cn/news/detail-564360.html

# -*- coding: utf-8 -*-
# ---
# @Software: PyCharm
# @File: main.py
# @Author: WangYunchang
# @E-mail: wangyunchang@dxy.cn
# @Site: 
# @Time: 9月 20, 2022
# ---
import csv
import pandas as pd
import hashlib

counts = {}
# 讀取文件
txt = open("word2count.txt").read()
# 將大寫字母轉化為小寫
txt = txt.lower()
# 把文章中不是英文字母的全部代替為空格
for ch in '0123456789.,()%-':
    txt = txt.replace(ch, " ")
# 分割成列表
words = txt.split()
# 統(tǒng)計單詞
for word in words:
    counts[word] = counts.get(word, 0) + 1
items = list(counts.items())
# 將所得單詞及數(shù)目寫入csv文件中
csvFile = open('word_result.csv', 'w', newline='')
# 寫入表頭,A是單詞,B是出現(xiàn)次數(shù)
csv.writer(csvFile).writerow(["A", "MD5", "B"])
# 統(tǒng)計結果寫入csv
writer = csv.writer(csvFile)
for key in counts:
    # MD5值
    ss = hashlib.md5(key.encode('utf-8')).hexdigest()
    writer.writerow([key, ss, counts[key]])
csvFile.close()
df = pd.read_csv('word_result.csv')
# 根據(jù)B降序排序,當B相同時,根據(jù)MD5進行降序排序
data = df.sort_values(by=["B", "MD5"], ascending=[False, False])
# 刪除MD5
data = data.drop(columns="MD5")
# 把新的數(shù)據(jù)寫入文件
data.to_csv('word_result.csv', mode='w', index=False)

到了這里,關于Python:pandas庫sort_values()方法的使用的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Python學習筆記(十七)——Pandas庫

    Python學習筆記(十七)——Pandas庫

    數(shù)組只能存儲一種類型的數(shù)據(jù), 同時, 數(shù)組提供了許多方便統(tǒng)計計算的功能 (如平均值 mean 、標準差 std 等) pandas 是基于 numpy 數(shù)組構的, 但 二者最大的不同是 pandas 是專門為處 理表格和混雜數(shù)據(jù)設計的,比較契合統(tǒng) 計分析中的表結構,而 numpy 更適合處 理統(tǒng)一的數(shù)值數(shù)組

    2024年02月04日
    瀏覽(25)
  • 【Python數(shù)據(jù)處理】-Pandas筆記

    【Python數(shù)據(jù)處理】-Pandas筆記

    Pandas是一個強大的Python數(shù)據(jù)處理庫,它提供了高效的數(shù)據(jù)結構和數(shù)據(jù)分析工具,使數(shù)據(jù)處理變得簡單而快速。本篇筆記將介紹Pandas中最常用的數(shù)據(jù)結構——Series和DataFrame,以及數(shù)據(jù)處理的各種操作和技巧。 (一)創(chuàng)建Series Series是Pandas中的一維數(shù)組,類似于帶有標簽的NumPy數(shù)組

    2024年02月12日
    瀏覽(19)
  • Python 列表 sort()函數(shù)使用詳解

    Python 列表 sort()函數(shù)使用詳解

    「作者主頁」: 士別三日wyx 「作者簡介」: CSDN top100、阿里云博客專家、華為云享專家、網絡安全領域優(yōu)質創(chuàng)作者 「推薦專欄」: 小白零基礎《Python入門到精通》 sort() 可以對列表進行 「排序」 語法 參數(shù) key :(可選)指定排序規(guī)則 reverse :(可選)升序降序 返回值 返回

    2024年02月13日
    瀏覽(23)
  • 【Python床頭書】python Pandas中的append方法詳解

    本文將詳細介紹Python Pandas中的 append 方法,包括其原理、用法、示例(含結果輸出)、源碼分析和官方鏈接。 目錄 原理 用法 示例(含結果輸出) 源碼分析 官方鏈接 原理 append 方法用于在Pandas DataFrame中追加行數(shù)據(jù)。它將另一個DataFrame、Series或類似字典的對象的數(shù)據(jù)添加到調

    2024年02月03日
    瀏覽(20)
  • Python Pandas中的append方法詳解

    本文將詳細介紹Python Pandas中的 append 方法,包括其原理、用法、示例(含結果輸出)、源碼分析和官方鏈接。 目錄 原理 用法 示例(含結果輸出) 源碼分析 官方鏈接 原理 append 方法用于在Pandas DataFrame中追加行數(shù)據(jù)。它將另一個DataFrame、Series或類似字典的對象的數(shù)據(jù)添加到調

    2024年02月05日
    瀏覽(20)
  • 【新手解答】Python中Pandas的初學者筆記

    【新手解答】Python中Pandas的初學者筆記

    ??你好呀!我是 是Yu欸 ?? 2024每日百字篆刻時光,感謝你的陪伴與支持 ~ ?? 歡迎一起踏上探險之旅,挖掘無限可能,共同成長! 前些天發(fā)現(xiàn)了一個人工智能學習網站,內容深入淺出、易于理解。如果對人工智能感興趣,不妨點擊查看。 一位CSDN好友詢問是否有 python里的p

    2024年03月14日
    瀏覽(28)
  • python數(shù)據(jù)分析學習筆記之matplotlib、numpy、pandas

    python數(shù)據(jù)分析學習筆記之matplotlib、numpy、pandas

    為了學習機器學習,在此先學習以下數(shù)據(jù)分析的matplotlib,numpy,pandas,主要是為自己的學習做個記錄,如有不會的可以隨時查閱。希望大家可以一起學習共同進步,我們最終都可以說:功不唐捐,玉汝于成。就算遇到困難也不要氣餒,大聲說:我不怕,我敏而好學??! 把大量

    2024年02月08日
    瀏覽(26)
  • (九)Pandas表格樣式 學習簡要筆記 #Python #CDA學習打卡

    (九)Pandas表格樣式 學習簡要筆記 #Python #CDA學習打卡

    目錄 一.?Pandas表格樣式 1)舉例數(shù)據(jù) 2)字體顏色 3)背景高亮 4)極值背景高亮 (a)高亮最大值 highlight_max() (b)高亮最小值?highlight_min() (c)同時高亮最大值與最小值 5)橫向對比 (a)標記出每個學生的單科最高分數(shù) axis (b)選定一列的最大值高亮 subset 6)背景漸變?

    2024年04月26日
    瀏覽(18)
  • python-數(shù)據(jù)分析-numpy、pandas、matplotlib的常用方法

    python-數(shù)據(jù)分析-numpy、pandas、matplotlib的常用方法

    輸出方式不同 里面包含的元素類型 使用 索引/切片 訪問ndarray元素 切片 左閉右開 np.array(list) np.arange() np.random.randn() - - - 服從標準正態(tài)分布- - - 數(shù)學期望 μ - - - 標準方差 s 使用matplotlib.pyplot模塊驗證標準正態(tài)分布 np.random.randint(起始數(shù),終止數(shù)(行,列)) 數(shù)據(jù)分析 - - - 數(shù)據(jù)清洗

    2024年02月10日
    瀏覽(124)
  • PYthon 時間序列數(shù)據(jù)重采樣-resample()方法(Pandas篇-23)

    PYthon 時間序列數(shù)據(jù)重采樣-resample()方法(Pandas篇-23)

    PYthon 時間序列數(shù)據(jù)重采樣-resample()方法(Pandas篇-23) ??????? ??博主 侯小啾 感謝您的支持與信賴。?? ??????????????????????????????????????????????????????????????????????????????????????

    2024年01月19日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包