日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Pandas入門的12個技巧

來源: 責(zé)編: 時間:2024-01-03 17:22:15 225觀看
導(dǎo)讀今天,就為大家總結(jié)一下 “Pandas數(shù)據(jù)處理的12技巧”,拿來即用,隨查隨用。今天,就為大家總結(jié)一下 “Pandas數(shù)據(jù)處理的12技巧”,拿來即用,隨查隨用。1. 安裝你還可以使用內(nèi)置的 Python 工具 pip 安裝 Pandas 并運(yùn)行以下命令:$

今天,就為大家總結(jié)一下 “Pandas數(shù)據(jù)處理的12技巧”,拿來即用,隨查隨用。kN628資訊網(wǎng)——每日最新資訊28at.com

kN628資訊網(wǎng)——每日最新資訊28at.com

今天,就為大家總結(jié)一下 “Pandas數(shù)據(jù)處理的12技巧”,拿來即用,隨查隨用。kN628資訊網(wǎng)——每日最新資訊28at.com

1. 安裝

你還可以使用內(nèi)置的 Python 工具 pip 安裝 Pandas 并運(yùn)行以下命令:kN628資訊網(wǎng)——每日最新資訊28at.com

$ pip install pandas

安裝完成后的提示成功,則可以環(huán)境中使用pandas包了。kN628資訊網(wǎng)——每日最新資訊28at.com

import pandas

2. 創(chuàng)建數(shù)據(jù)列

Pandas一維數(shù)組(數(shù)據(jù)列)可以保存任何數(shù)據(jù)類型。一般通過調(diào)用 pd.Series() 方法實(shí)現(xiàn),不指定index,默認(rèn)為0,1,2,3...。kN628資訊網(wǎng)——每日最新資訊28at.com

import pandasimport numpyS = pandas.Series(    [1, 2, 3, 4],  # 數(shù)據(jù)    index=["a", "b", "c", "d"],  # 指定索引    dtype=numpy.int8,  # 指定數(shù)據(jù)類型)S.name = "test"  # 創(chuàng)建一維數(shù)組的名稱S.index.name = "index"  # 創(chuàng)建一維數(shù)組的索引名稱print(S)

輸出:kN628資訊網(wǎng)——每日最新資訊28at.com

indexa    1b    2c    3d    4Name: test, dtype: int8

3. 創(chuàng)建數(shù)據(jù)框

創(chuàng)建具有列的二維數(shù)據(jù)結(jié)構(gòu)的對象(數(shù)據(jù)框)。一般通過調(diào)用 pd.DataFrame() 方法實(shí)現(xiàn),不指定index,默認(rèn)為0,1,2,3...。kN628資訊網(wǎng)——每日最新資訊28at.com

import pandasdat_list = [    [1, 2, 3],    [4, 6, 8],    [10, 11, 12],]df = pandas.DataFrame(    dat_list,    index=["i1", "i3", "i2"],    columns=["a", "b", "c"],)print(df)

輸出:kN628資訊網(wǎng)——每日最新資訊28at.com

a   b   ci1   1   2   3i3   4   6   8i2  10  11  12

4. CSV文件的讀寫

Pandas 支持從 CSV的讀寫,我們用 pd.read_csv() 和 pd.to_csv() 方法來實(shí)現(xiàn)。kN628資訊網(wǎng)——每日最新資訊28at.com

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)df.to_csv("output/test.csv") # 導(dǎo)出到CSV文件dfnew = pandas.read_csv("output/test.csv", index_col=0) # index_col=0 表示第一列為索引print(dfnew)

5. Excel文件的讀寫

Pandas 支持從 Excel的讀寫,我們用 pd.read_excel() 和 pd.to_excel() 方法來實(shí)現(xiàn)。kN628資訊網(wǎng)——每日最新資訊28at.com

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)df.to_excel("output/test.xlsx") # 導(dǎo)出到exceldfnew = pandas.read_excel("output/test.xlsx", index_col=0) # index_col=0 表示第一列為索引print(dfnew)

6. 通過位置選擇值

Pandas 支持通過位置選擇值,我們用 df.iloc[row_index, column_index] 來實(shí)現(xiàn)。kN628資訊網(wǎng)——每日最新資訊28at.com

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)print(df.iloc[2, 1])  # 6 結(jié)果為一個值print(df.iloc[[2], [1]])  # 結(jié)果為一個元素的數(shù)據(jù)框print(df.iloc[1:3, :])  # 結(jié)果為一個數(shù)據(jù)框

輸出:kN628資訊網(wǎng)——每日最新資訊28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i3  3  6  9  126    Bi3  6    A  B  C   Di1  2  5  8  11i3  3  6  9  12

7. 通過名稱選擇值

Pandas 支持通過名稱選擇值,我們用 df.loc[row_name, column_name] 來實(shí)現(xiàn)。kN628資訊網(wǎng)——每日最新資訊28at.com

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)print(df.loc["i2", "C"])  # 6 結(jié)果為一個值print(df.loc[["i2"], ["C"]])  # 結(jié)果為一個元素的數(shù)據(jù)框print(df.loc[["i2", "i3"], ["A", "D"]])  # 切片

輸出:kN628資訊網(wǎng)——每日最新資訊28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i3  3  6  9  127    Ci2  7    A   Di2  1  10i3  3  12

8. 標(biāo)簽可以重復(fù)么?

這是一個有意思的問題,如果重復(fù)了如何取值呢,如何去掉重復(fù)呢?kN628資訊網(wǎng)——每日最新資訊28at.com

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i2"])print(df)print(df.loc["i2", "C"])df.columns = ["A", "B", "B", "D"]print(df)print(df.loc["i2", "B"])

輸出:kN628資訊網(wǎng)——每日最新資訊28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i2  3  6  9  12i2    7i2    9Name: C, dtype: int64    A  B  B   Di2  1  4  7  10i1  2  5  8  11i2  3  6  9  12    B  Bi2  4  7i2  6  9

9. 刪除行/列

Pandas 支持刪除行/列,我們用 df.drop([col/row name], axis=0/1) 來實(shí)現(xiàn)。kN628資訊網(wǎng)——每日最新資訊28at.com

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)df.drop(    ["i2", "i1"],    axis=0,  # axis=0刪除行,axis=1刪除列    inplace=True, # 如果為True,則在原數(shù)據(jù)上進(jìn)行操作,否則,創(chuàng)建一個新的數(shù)據(jù)對象    errors="ignore",  # 忽略不存在的列)print(df)

輸出:kN628資訊網(wǎng)——每日最新資訊28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i3  3  6  9  12    A  B  C   Di3  3  6  9  12

10. 在最后增加列

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12]}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)df['E'] = 0print(df)

輸出為:kN628資訊網(wǎng)——每日最新資訊28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i3  3  6  9  12    A  B  C   D  Ei2  1  4  7  10  0i1  2  5  8  11  0i3  3  6  9  12  0

11. 在最后增加行

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)df = df.append(    pandas.DataFrame({"A": 13, "B": 14, "C": 15, "D": 16}, index=["i4"]),    ignore_index=True,)print(df)

輸出:kN628資訊網(wǎng)——每日最新資訊28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i3  3  6  9  12    A   B   C   D0   1   4   7  101   2   5   8  112   3   6   9  123  13  14  15  16

12. 通過標(biāo)簽(索引或列名)排序

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12]}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)df = df.sort_index(    axis=0, # axis=0 按行標(biāo)簽排序,axis=1 按列標(biāo)簽排序    level=None,    ascending=True, # 是否升序    inplace=False, # 是否修改原數(shù)據(jù)    kind="quicksort", # 排序算法    na_positinotallow="last", # 如果有NA值,放在最后    sort_remaining=True, # 是否排序剩余列)print(df)

輸出:kN628資訊網(wǎng)——每日最新資訊28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i3  3  6  9  12    A  B  C   Di1  2  5  8  11i2  1  4  7  10i3  3  6  9  12

總結(jié)

上面分享的pandas入門的12個技巧,希望對你有所幫助。kN628資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-57288-0.htmlPandas入門的12個技巧

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 加速Python循環(huán)的12種方法,最高可以提速900倍

下一篇: 掌握這個技術(shù),給輪播圖和文本插上自由之翼

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 轎車從天而降電動車主被撞身亡 超速搶道所致:現(xiàn)場視頻讓網(wǎng)友吵翻

    近日,上海青浦區(qū)法院判決轎車從天而降電動車主被撞身亡案,轎車車主被判有期徒刑一年。案件顯示當(dāng)時男子駕駛轎車在上海某路段行駛,前車忽然轉(zhuǎn)彎提速超車,
  • 微信語音大揭秘:為什么禁止轉(zhuǎn)發(fā)?

    大家好,我是你們的小米。今天,我要和大家聊一個有趣的話題:為什么微信語音不可以轉(zhuǎn)發(fā)?這是一個我們經(jīng)常在日常使用中遇到的問題,也是一個讓很多人好奇的問題。讓我們一起來揭開這
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學(xué)弟,最近學(xué)習(xí)的怎么樣啊 了不起學(xué)弟:最近學(xué)習(xí)的還不錯,每天都在學(xué)習(xí),每天都在進(jìn)步! 了不起:那你最近學(xué)習(xí)的什么呢? 了不起學(xué)弟:最近在學(xué)習(xí)C
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人員可能會涉及各種各樣的安全任務(wù),包括但不限于:開發(fā)某些安全工具的插件,滿足自己特定的安全需求;自定義github搜索工具,快速查找所需的安全資料、漏洞poc、exp
  • 拼多多APP上線本地生活入口,群雄逐鹿萬億市場

    Tech星球(微信ID:tech618)文 | 陳橋輝 Tech星球獨(dú)家獲悉,拼多多在其APP內(nèi)上線了“本地生活”入口,位置較深,位于首頁的“充值中心”內(nèi),目前主要售賣美食相關(guān)的
  • 一條抖音4億人圍觀 ! 這家MCN比無憂傳媒還野

    作者:Hiu 來源:互聯(lián)網(wǎng)品牌官01 擦邊少女空降熱搜,幕后推手曝光被網(wǎng)友譽(yù)為“純欲天花板”的女網(wǎng)紅井川里予,近期因為一組哥特風(fēng)照片登上熱搜,引發(fā)了一場互聯(lián)網(wǎng)世界關(guān)于
  • 重估百度丨大模型,能撐起百度的“今天”嗎?

    自象限原創(chuàng) 作者|程心 羅輯2023年之前,對于自己的“今天”,百度也很迷茫。“新業(yè)務(wù)到 2022 年底還是 0,希望 2023 年出來一個 1。”這是2022年底,李彥宏
  • iQOO Neo8 Pro評測:旗艦雙芯加持 最強(qiáng)性能游戲旗艦

    【Techweb評測】去年10月,iQOO推出了一款Neo7手機(jī),該機(jī)搭載了聯(lián)發(fā)科天璣9000+,配備獨(dú)顯芯片Pro+,帶來了同價位段最佳的游戲體驗,一經(jīng)上市便受到了諸多用
  • onebot M24巧系列一體機(jī)采用輕薄機(jī)身設(shè)計,現(xiàn)已在各平臺開售

    onebot M24 巧系列一體機(jī)目前已在線上線下各平臺同步開售。onebot M24 巧系列采用一體化輕薄機(jī)身設(shè)計,最薄處為 10.15mm,擁有寶石紅、午夜藍(lán)、石墨綠、雅致
Top 主站蜘蛛池模板: 孟州市| 成安县| 舞钢市| 望城县| 九龙城区| 伊宁县| 白河县| 甘肃省| 全南县| 岚皋县| 禄丰县| 昌黎县| 宾阳县| 陆河县| 合江县| 阿图什市| 桑植县| 潼南县| 佛学| 会昌县| 康平县| 肥城市| 沾益县| 泽普县| 尚志市| 奉化市| 辽阳县| 通州区| 同心县| 延庆县| 平凉市| 教育| 思茅市| 增城市| 南京市| 宾川县| 蒙城县| 福贡县| 扎赉特旗| 陵川县| 长乐市|