1. 程式人生 > >使用astype實現dataframe欄位型別轉換

使用astype實現dataframe欄位型別轉換

在有些情況下,我們需要在DataFrame型別的資料中通過切片獲得我們所需要的資料,然後轉換為我們所需要的型別。Dataframe資料型別的轉換需要用到astype函式。

# encoding: utf-8
import pandas as pd

df = pd.DataFrame(pd.read_csv('film_log3.csv', sep=';',encoding='utf-8', names=[u'電影名稱', u'上映時間', u'製作公司', u'導演', u'票房']))
df = df.drop_duplicates().dropna().reset_index().drop('index'
, axis=1) df_1 = df[df[u'電影名稱'] == u'《衝上雲霄》'] df[u'票房'] = float(df[u'票房'].str.split(u')').str[1]) print df

筆者一開始想使用float()將dataframe轉換為float型別,然後編譯器報錯了:

這裡寫圖片描述

無法將這個系列轉換為float型別?通過type(),發現該資料為Series資料型別,所以不能使用float()方法。

在老司機的指導下,我使用了astype函式進行資料型別轉換:

……
df[u'票房'] = df[u'票房'].str.split(u')').str[1].astype(float)
print
df

然後,就能成功轉換並輸出了。

這裡寫圖片描述

相關推薦

使用astype實現dataframe型別轉換

在有些情況下,我們需要在DataFrame型別的資料中通過切片獲得我們所需要的資料,然後轉換為我們所需要的型別。Dataframe資料型別的轉換需要用到astype函式。 # encoding: utf-8 import pandas as pd df

Mongodb 型別轉換

原文傳送門 最近一些專案由於歷史原因,欄位型別儲存混亂,比如一個collection裡modifedDate列,有的存的是ISODate型別,有的是NumberLong時間戳,這在Mongodb中是嚴重不推薦的,需要轉換成統一的。Mongodb並不提供Alter table

Logstash下以及巢狀Json型別轉換

  前言 從filebeat傳輸到Logstash的資料,某個欄位需要由string型別裝換成float型別。但是不管怎麼改logstash的配置檔案都不生效,其實官方文件都有,但是具體細節方面的東西就得自己不斷的實踐驗證最後達到自己想要的目標了。整整一天,都在弄這一個,中間實在想放棄了。但是就如張

潭州課堂25班:Ph201805201 django框架 第七課 常用 型別及引數,關係表的實現,表關係物件add,create的方法 (課堂筆記)

    寫個類,建立表格   執行命令生成檔案 提交,在資料庫中建立  進入資料庫檢視   對資料進行修改操作    只有用到 save() 才能觸發 updaer_time 的更改,

mongo 批量轉換型別的方法

引:由於專案前期開發的人沒規劃好,導致功能上業務邏輯的阻塞,現記錄下mongo如何批量轉換資料型別 函式解析 1.要先查詢出需要修改的欄位型別,不然直接轉換,如果資料表比較混亂,會導致轉換報錯 2.print 可以在mongo shell中 輸出引數 $type 有效的型別值,如下:

java生成mysql資料庫建表語句、型別註釋,可實現不用mysqldump備份資料庫

使用 mysqldump 備份資料庫也是可行的,因為每次備份的時候都需要mysqldump這個檔案, 我在windows備份時沒問題,但是放到linux上面時,centos系統死活不認這個檔案,但又不想裝mysql,一氣之下自己研究了個不需要mysqldump就可以備份的程式, 如果看了以下程式

Java JDBC中,MySQL型別到JAVA型別轉換

1. 概述   在使用Java JDBC時,你是否有過這樣的疑問:MySQL裡的資料型別到底該選擇哪種Java型別與之對應?本篇將為你揭開這個答案。 2. 型別對映    java.sql.Types定義了常用資料庫(MySQL、Oracle、DB2等)所用到的資料型別

Django——7 常用的查詢 常用的模型型別 Field的常用引數 表關係的實現

Django 常用的查詢 常用的查詢方法 常用的查詢條件 常用欄位對映關係 Field常用引數 表關係的實現     查用的查詢方法 這是需要用到的資料 from django.http import Htt

Hibernate3.X實現基於CLOB型別的註解方式:

一:Hibernate3.X實現基於CLOB欄位型別的註解方式的例子:下面直接上程式碼: 二:UserInfo.java package cn.gov.csrc.cms.model; import javax.persistence.Basic; import java

Laravel 的 DB 查詢是如何實現型別自動轉的?

最近使用 Laravel 寫了一段程式,首先程式在 執行環境A 部署,沒有發現任何問題返回資料該是 Integer 的還是 Integer。但是最近將程式原封不動的部署在 執行環境B 情況卻發生了變化。所有的 Integer 型都變成了 String 型。導致部分 Javas

oracle的型別限制

CHAR   ORACLE限制  2000 VARCHAR2   ORACLE限制   4000 LONG          32,767位元組 CLOB

sqlserver 獲取所有表的型別等資訊

USE [MultipleAnalysisDataFY] GO /****** Object: View [dbo].[selectfieldtype] Script Date: 2018/11/7 星期三 12:02:27 ******/ SET ANSI_NULLS ON GO SET

Oracle varchar2改成大型別clob

做專案中經常碰到資料庫改欄位問題,給自己做個記錄,下次直接可以拿來用了。Oracle 有些欄位直接修改會報錯ORA-22858: invalid alteration of datatype。不允許修改。不允許修改怎麼辦呢。。總不能把表幹掉重新建欄位吧。這在生產肯定行不通。可以先建個新欄

Oracle與mysql的型別整理

Oralce的欄位型別整理如下: Mysql的欄位型別整理如下: 最後面一欄是對應JAVA的基本型別。希望對初學者有用,初學者在學習JAVA的時候,不知道怎麼把JAVA的物件指向到ORALCE或者MYSQL的欄位中,通過這個表格 可以很清楚的瞭解到,物件對映成資

spring data jpa 查詢自定義轉換為自定義實體

目標:查詢資料庫中的欄位,然後轉換成 JSON 格式的資料,返回前臺。 環境:idea 2016.3.4, jdk 1.8, mysql 5.6, spring-boot 1.5.2 背景:首先建立 entity 對映資料庫(非專業 java 不知道這怎麼說) @Entity @Tab

ES Mapping、型別Field type詳解

  欄位型別概述 一級分類 二級分類 具體型別 核心型別 字串型別 string,text,keyword 整數型別 integer,long,short,byte 浮點型別 double,float,half_float,scaled_float 邏輯型別 boolean 日期型

關於mysql型別的說明

mysql中整數型別後面的數字,是不是指定這個欄位的長度?比如int(11),11代表11個位元組嗎? 原先對mysql不太理解,但也沒有報錯。但理解的不夠深入。這次補上。 原來以為int(11)是指11個位元組,int(10)就是10個位元組。我錯了。   http://

Oracle更改型別

當一個列名(欄位)下有資料的時候無法直接更改列名的型別,這時可以用以下方法: 1、修改原欄位名name為name_tmp alter table tb rename column name to name_tmp; 2、增加一個和原欄位名同名的欄位name alter table t

資料庫工作筆記010---Mysql中用SQL增加、刪除,修改名、型別、註釋,調整順序總結

  JAVA技術交流QQ群:170933152   Mysql中用SQL增加、刪除欄位,修改欄位名、欄位型別、註釋,調整欄位順序總結   在網站重構中,通常會進行資料結構的修改,所以新增,刪除,增加mysql表的欄位是難免的,有時為了方便,還會增加

mybatis 型別Data相

在專案中查詢時間段的sql語句(時間型別為datetime或date)(資料庫中的時間型別): <if test="beginTime!=null and beginTime!=''"> <![CDATA[ and DATE_FORMAT(tr.add_time, '%Y