欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于DataFrame改變列類型的方法

 更新時間:2018年07月25日 09:41:22   作者:無痛學習  
今天小編就為大家分享一篇基于DataFrame改變列類型的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

今天用numpy 的linalg.det()求矩陣的逆的過程中出現(xiàn)了一個錯誤:

TypeError: No loop matching the specified signature and casting was found for ufunc det 

查了半天發(fā)現(xiàn)是數(shù)據(jù)類型的問題,numpy在算逆的時候會先檢查一下數(shù)據(jù)類型是否一致,若不一致就會報錯(話說這個錯誤提示信息也太難理解了,還得看源碼o(╯□╰)o)。

由于我的數(shù)據(jù)是用pandas.DataFrame讀取的,所以每一列的數(shù)據(jù)類型有可能不同。

回頭檢查一下數(shù)據(jù),果然有的是int,有的是float。所以全部改為float64類型。

找到了如下的方法,以及DataFrame數(shù)據(jù)類型:

DataFrame 類型轉換方法—astype()

import pandas as pd
df = pd.DataFrame([{'col1':'a', 'col2':'1'}, {'col1':'b', 'col2':'2'}])

print df.dtypes

df['col2'] = df['col2'].astype('int')
print '-----------'
print df.dtypes

df['col2'] = df['col2'].astype('float64')
print '-----------'
print df.dtypes

輸出:

col1 object
col2 object
dtype: object
-----------
col1 object
col2  int32
dtype: object
-----------
col1  object
col2 float64
dtype: object

astype()也能一次改變所有數(shù)據(jù)的類型:

In[30]:a
Out[31]: 
   a   b   c   d
0 0.891380 0.442167 -0.539450 1.023458
1 -0.488131 -1.847104 -0.209799 -0.768713
2 1.290434 0.327096 0.358406 0.422209

In[32]:a.astype('int32')
Out[32]: 
 a b c d
0 0 0 0 1
1 0 -1 0 0
2 1 0 0 0

附:data type list

Data type Description
bool_ Boolean (True or False) stored as a byte
int_ Default integer type (same as C long; normally either int64 or int32)
intc Identical to C int (normally int32 or int64)
intp Integer used for indexing (same as C ssize_t; normally either int32 or int64)
int8 Byte (-128 to 127)
int16 Integer (-32768 to 32767)
int32 Integer (-2147483648 to 2147483647)
int64 Integer (-9223372036854775808 to 9223372036854775807)
uint8 Unsigned integer (0 to 255)
uint16 Unsigned integer (0 to 65535)
uint32 Unsigned integer (0 to 4294967295)
uint64 Unsigned integer (0 to 18446744073709551615)
float_ Shorthand for float64.
float16 Half precision float: sign bit, 5 bits exponent, 10 bits mantissa
float32 Single precision float: sign bit, 8 bits exponent, 23 bits mantissa
float64 Double precision float: sign bit, 11 bits exponent, 52 bits mantissa
complex_ Shorthand for complex128.
complex64 Complex number, represented by two 32-bit floats (real and imaginary components)
complex128 Complex number, represented by two 64-bit floats (real and imaginary components)

以上這篇基于DataFrame改變列類型的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python heapq使用詳解及實例代碼

    Python heapq使用詳解及實例代碼

    這篇文章主要介紹了Python heapq使用詳解及實例代碼的相關資料,需要的朋友可以參考下
    2017-01-01
  • Pandas?Groupby之在Python中匯總、聚合和分組數(shù)據(jù)的示例詳解

    Pandas?Groupby之在Python中匯總、聚合和分組數(shù)據(jù)的示例詳解

    GroupBy是一個非常簡單的概念,我們可以創(chuàng)建一個類別分組,并對這些類別應用一個函數(shù),本文給大家介紹Pandas?Groupby之如何在Python中匯總、聚合和分組數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • 如何在Windows環(huán)境下安裝PyMySQL(已安裝Anaconda)

    如何在Windows環(huán)境下安裝PyMySQL(已安裝Anaconda)

    這篇文章主要介紹了如何在Windows環(huán)境下安裝PyMySQL問題(已安裝Anaconda),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python 裝飾器代碼解析

    Python 裝飾器代碼解析

    裝飾器(Decorators)是 Python 的一個重要部分。簡單地說:他們是修改其他函數(shù)的功能的函數(shù)。他們有助于讓我們的代碼更簡短,也更Pythonic(Python范兒)。大多數(shù)初學者不知道在哪兒使用它們,所以我將要分享幾個示例
    2021-11-11
  • Python獲取ip地址的3種方法代碼

    Python獲取ip地址的3種方法代碼

    在Python中獲取IP地址的方法有很多種,這篇文章主要給大家介紹了關于Python獲取ip地址的3種方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • 計算機二級python學習教程(3) python語言基本數(shù)據(jù)類型

    計算機二級python學習教程(3) python語言基本數(shù)據(jù)類型

    這篇文章主要為大家詳細介紹了計算機二級python學習教程的第3篇,python語言基本數(shù)據(jù)類型,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Python中使用第三方庫xlutils來追加寫入Excel文件示例

    Python中使用第三方庫xlutils來追加寫入Excel文件示例

    這篇文章主要介紹了Python中使用第三方庫xlutils來追加寫入Excel文件示例,本文直接給出追加寫入示例和追加效果,需要的朋友可以參考下
    2015-04-04
  • 值得收藏的10道python 面試題

    值得收藏的10道python 面試題

    本文給大家分享值得收藏的10道python 面試題,非常不錯,具有一定收藏價值,需要的朋友可以參考下
    2019-04-04
  • pycharm找不到conda可執(zhí)行文件怎么解決

    pycharm找不到conda可執(zhí)行文件怎么解決

    這篇文章主要給大家介紹了關于pycharm找不到conda可執(zhí)行文件怎么解決的相關資料,文中通過圖文介紹非常的詳細,對大家的學習或者工作具有一的參考學習價值,需要的朋友可以參考下
    2023-07-07
  • python寫一個md5解密器示例

    python寫一個md5解密器示例

    這篇文章主要介紹了python寫一個md5解密器示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02

最新評論