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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pandas(三) -- DataFrame的基本操作

發布時間:2025/1/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pandas(三) -- DataFrame的基本操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DataFrame的基本操作
數據查看、轉置、 添加、修改、刪除值 / 對齊 / 排序
1. 查看、轉置、 添加、修改

df.head()#查看df頭部元素 df.tail()#查看df的最后幾個元素 df.T#轉置df.loc[4] = 20 # df索引為4的行的值設為20,如果df無索引為4的行,則添加這行 df['e'] = 20 #df列名為‘e’的值設為20,如果df列名為‘e’的列,則添加這行 df[['a','c']] = 100 #同時設兩列

2. 刪除
df

a b c d 0 18.508749 55.076623 31.351921 97.197084 1 6.225724 38.386008 26.030686 37.091972 2 90.739194 7.106155 69.594075 10.862557 3 34.379840 33.543922 14.466034 39.377378
  • del 刪除列
del df['a']#原始數據會改變,無返回,輸出會報錯 print(df) b c d 0 55.076623 31.351921 97.197084 1 38.386008 26.030686 37.091972 2 7.106155 69.594075 10.862557 3 33.543922 14.466034 39.377378
  • drop()刪除行,inplace=False → 刪除后生成新的數據,不改變原數據.inplace=True → 刪除后不生成新的數據,改變原數據
print(df.drop(0)) print('*'*20) print(df) b c d 1 38.386008 26.030686 37.091972 2 7.106155 69.594075 10.862557 3 33.543922 14.466034 39.377378 ********************b c d 0 55.076623 31.351921 97.197084 1 38.386008 26.030686 37.091972 2 7.106155 69.594075 10.862557 3 33.543922 14.466034 39.377378

drop()刪除列,需要加上axis = 1,inplace=False → 刪除后生成新的數據,不改變原數據

print(df.drop(['d'], axis = 1)) print(df) b c 0 55.076623 31.351921 1 38.386008 26.030686 2 7.106155 69.594075 3 33.543922 14.466034b c d 0 55.076623 31.351921 97.197084 1 38.386008 26.030686 37.091972 2 7.106155 69.594075 10.862557 3 33.543922 14.466034 39.377378

3. 對齊
DataFrame對象之間的數據自動按照列和索引(行標簽)對齊

df1 = pd.DataFrame(np.random.randn(5, 4), columns=['A', 'B', 'C', 'D']) df2 = pd.DataFrame(np.random.randn(4, 3), columns=['A', 'B', 'C']) print(df1) print(df2) print(df1 + df2)

有相同的index和columns的,相加,沒有的用NaN填充

A B C D 0 0.936158 0.176731 0.057894 1.378480 1 -0.845350 -1.315490 1.364016 0.068843 2 1.202603 -1.866056 -1.243468 -2.464771 3 -1.027430 -0.090378 0.772160 0.421877 4 0.599495 -0.512279 0.343464 -0.539533A B C 0 -0.749239 0.468161 -1.300230 1 1.318669 0.415610 1.224801 2 -1.582607 0.297839 0.225834 3 -0.639544 0.187458 0.498859A B C D 0 0.186919 0.644892 -1.242336 NaN 1 0.473319 -0.899880 2.588817 NaN 2 -0.380003 -1.568217 -1.017634 NaN 3 -1.666974 0.097081 1.271019 NaN 4 NaN NaN NaN NaN

4. 排序

  • 按值排序.sort_values,同樣適用于Series
    按‘a’列的值升序排列
df1 = pd.DataFrame(np.random.rand(16).reshape(4,4)*100,columns = ['a','b','c','d']) print(df1) print(df1.sort_values(['a'], ascending = True)) # 升序.ascending 上升的。ascending =False,降序排列 df a b c d 0 3.570340 86.589786 98.001894 50.984826 1 46.210527 83.412502 74.492003 73.251724 2 91.115360 6.083352 34.314697 56.784097 3 24.781722 67.813376 65.004312 31.788198

排序后結果

a b c d 0 3.570340 86.589786 98.001894 50.984826 3 24.781722 67.813376 65.004312 31.788198 1 46.210527 83.412502 74.492003 73.251724 2 91.115360 6.083352 34.314697 56.784097

print(df1.sort_values(['a','c'])) 多列排序,按列順序排序

  • 索引排序 .sort_index
df1 = pd.DataFrame(np.random.rand(16).reshape(4,4)*100,index = [5,4,3,2],columns = ['a','b','c','d']) print(df1) print(df1.sort_index()) a b c d 5 80.932585 71.991854 64.582943 23.443231 4 82.054030 87.459058 12.108433 83.047490 3 56.329863 14.926822 47.884418 59.880352 2 0.347007 69.794103 74.375345 12.736429a b c d 2 0.347007 69.794103 74.375345 12.736429 3 56.329863 14.926822 47.884418 59.880352 4 82.054030 87.459058 12.108433 83.047490 5 80.932585 71.991854 64.582943 23.443231

總結

以上是生活随笔為你收集整理的pandas(三) -- DataFrame的基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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