好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > pandas調整列的順序以及添加列的實現

pandas調整列的順序以及添加列的實現

熱門標簽:西藏智能外呼系統五星服務 400電話申請服務商選什么 清遠360地圖標注方法 平頂山外呼系統免費 在哪里辦理400電話號碼 江蘇客服外呼系統廠家 千陽自動外呼系統 原裝電話機器人 工廠智能電話機器人

在對excel的操作中,調整列的順序以及添加一些列也是經常用到的,下面我們用pandas實現這一功能。

1、調整列的順序

>>> df = pd.read_excel(r'D:/myExcel/1.xlsx')
>>> df
  A B C D
0  bob 12 78 87
1 millor 15 92 21
>>> df.columns
Index(['A', 'B', 'C', 'D'], dtype='object')
# 這是最簡單常用的一種方法,相當于指定列名讓pandas
# 從df中獲取
>>> df[['A', 'D', 'C', 'B']]
  A D C B
0  bob 87 78 12
1 millor 21 92 15
# 這也是可以的
>>> df[['A', 'A', 'A', 'A']]
  A  A  A  A
0  bob  bob  bob  bob
1 millor millor millor millor

2、添加某一列或者某幾列

(1)直接添加

>>> df['E']=[1, 2]
>>> df
  A B C D E
0  bob 12 78 87 1
1 millor 15 92 21 2

(2)調用assign方法。該方法善于根據已有的列添加新的列,通過基本運算,或者調用函數

>>> df
  A B C D
0  bob 12 78 87
1 millor 15 92 21
# 其中E是列名,根據B列-C列的值得到
>>> df.assign(E=df['B'] - df['C'])
  A B C D E
0  bob 12 78 87 -66
1 millor 15 92 21 -77
# 添加兩列也可以
>>> df.assign(E=df['B'] - df['C'], F=df['B'] * df['C'])
  A B C D E  F
0  bob 12 78 87 -66 936
1 millor 15 92 21 -77 1380

哈哈,以上就是pandas關于調整列的順序以及新增列的用法

補充:pandas修改DataFrame中的列名調整列的順序

修改列名:

直接調用接口:

df.rename()

看一下接口中的定義:

 def rename(self, *args, **kwargs):
  """
  Alter axes labels.
  Function / dict values must be unique (1-to-1). Labels not contained in
  a dict / Series will be left as-is. Extra labels listed don't throw an
  error.
  See the :ref:`user guide basics.rename>` for more.
  Parameters
  ----------
  mapper, index, columns : dict-like or function, optional
   dict-like or functions transformations to apply to
   that axis' values. Use either ``mapper`` and ``axis`` to
   specify the axis to target with ``mapper``, or ``index`` and
   ``columns``.
  axis : int or str, optional
   Axis to target with ``mapper``. Can be either the axis name
   ('index', 'columns') or number (0, 1). The default is 'index'.
  copy : boolean, default True
   Also copy underlying data
  inplace : boolean, default False
   Whether to return a new DataFrame. If True then value of copy is
   ignored.
  level : int or level name, default None
   In case of a MultiIndex, only rename labels in the specified
   level.
  Returns
  -------
  renamed : DataFrame
  See Also
  --------
  pandas.DataFrame.rename_axis
  Examples
  --------
  ``DataFrame.rename`` supports two calling conventions
  * ``(index=index_mapper, columns=columns_mapper, ...)``
  * ``(mapper, axis={'index', 'columns'}, ...)``
  We *highly* recommend using keyword arguments to clarify your
  intent.
  >>> df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
  >>> df.rename(index=str, columns={"A": "a", "B": "c"})
   a c
  0 1 4
  1 2 5
  2 3 6
 
  >>> df.rename(index=str, columns={"A": "a", "C": "c"})
   a B
  0 1 4
  1 2 5
  2 3 6
 
  Using axis-style parameters
 
  >>> df.rename(str.lower, axis='columns')
   a b
  0 1 4
  1 2 5
  2 3 6
 
  >>> df.rename({1: 2, 2: 4}, axis='index')
   A B
  0 1 4
  2 2 5
  4 3 6
  """
  axes = validate_axis_style_args(self, args, kwargs, 'mapper', 'rename')
  kwargs.update(axes)
  # Pop these, since the values are in `kwargs` under different names
  kwargs.pop('axis', None)
  kwargs.pop('mapper', None)
  return super(DataFrame, self).rename(**kwargs)

注意:

一個*,輸入可以是數組、元組,會把輸入的數組或元組拆分成一個個元素。

兩個*,輸入必須是字典格式

示例:

>>>import pandas as pd
>>>a = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6], 'C':[7,8,9]})
>>> a 
 A B C
0 1 4 7
1 2 5 8
2 3 6 9 
 
#將列名A替換為列名a,B改為b,C改為c
>>>a.rename(columns={'A':'a', 'B':'b', 'C':'c'}, inplace = True)
>>>a
 a b c
0 1 4 7
1 2 5 8
2 3 6 9

調整列的順序:

如:

>>> import pandas
>>> dict_a = {'user_id':['webbang','webbang','webbang'],'book_id':['3713327','4074636','26873486'],'rating':['4','4','4'],
'mark_date':['2017-03-07','2017-03-07','2017-03-07']}
 
>>> df = pandas.DataFrame(dict_a) # 從字典創建DataFrame
>>> df # 創建好的df列名默認按首字母順序排序,和字典中的先后順序并不一樣,字典中'user_id','book_id','rating','mark_date'
 
 book_id mark_date rating user_id
0 3713327 2017-03-07 4 webbang
1 4074636 2017-03-07 4 webbang
2 26873486 2017-03-07 4 webbang

直接修改列名:

>>> df = df[['user_id','book_id','rating','mark_date']] # 調整列順序為'user_id','book_id','rating','mark_date'
>>> df
 
 user_id book_id rating mark_date
0 webbang 3713327 4 2017-03-07
1 webbang 4074636 4 2017-03-07
2 webbang 26873486 4 2017-03-07

就可以了。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python基礎之pandas數據合并
  • python-pandas創建Series數據類型的操作
  • Python數據分析之pandas函數詳解
  • python基于Pandas讀寫MySQL數據庫
  • pandas讀取excel時獲取讀取進度的實現
  • pandas中.loc和.iloc以及.at和.iat的區別說明
  • 淺談Pandas dataframe數據處理方法的速度比較
  • 解決使用pandas聚類時的小坑
  • pandas 使用merge實現百倍加速的操作
  • 詳細介紹在pandas中創建category類型數據的幾種方法
  • python中pandas.read_csv()函數的深入講解
  • pandas 顛倒列順序的兩種解決方案
  • pandas快速處理Excel,替換Nan,轉字典的操作
  • Python基礎之教你怎么在M1系統上使用pandas

標簽:股票 白城 安慶 天水 西安 錦州 日照 隨州

巨人網絡通訊聲明:本文標題《pandas調整列的順序以及添加列的實現》,本文關鍵詞  pandas,調,整列,的,順序,以及,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pandas調整列的順序以及添加列的實現》相關的同類信息!
  • 本頁收集關于pandas調整列的順序以及添加列的實現的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 91麻豆精品一区二区三区| 天天艹天天操| 继母韩剧免费在线观看| 顶级尤物娇喘浪吟h| 动漫?c??黄扒衣服做小电影| 把腿扒开做爽爽视频| 在线观看91精品国产hd| 成人Av片在线观看亚洲韩国日本| 色多多污污在线播放免费| 啊老汉h脔死我了| 妽妽~你真湿真紧好爽动态图| 97香蕉久久国产超碰青草专区| 贱奴被主人虐玩好爽| 亚洲清纯自偷自拍另类专区 | 怡红院天天天澡天天天碰青青 | 男的插女的视频| free啪哆哆免费视频1000| 国产精品一二三四区| 国产色图视频| 户外露出| 啊啊啊不要好大| 亚洲一区二区综合| 性猛交毛片| 老农民在线观看高清| 老司机lsj精品视频在线观| 最爽的伦秘史小说| 女性黄A片免费看不打码| 国产精品免费一区久久网址 | 98精品| 十八禁??免费网软件视频| 精品国产产一区二区三区久久| 91高跟黑色丝袜呻吟在线观看| 91精品国产综合久久久夜色撩人 | 精品久久久久久久高清| 国产动漫在线观看网站| 99久久国产综合精品国| 女人隐私免费网站| 精品国产乱码欠欠欠欠精品| 精品丝袜国产自在线拍亚洲| 女仆扒开腿秘?免费视频| 男男啊|