np讀取csv文件_被 Pandas read_csv 坑了

69bccf22d77b2abc00eea815239522b7.png

-- 不怕前路坎坷,只怕從一開始就走錯了方向

Pandas 是python的一個數據分析包,納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。Pandas 就是為解決數據分析任務生的,無論是數據分析還是機器學習項目數據預處理中, Pandas 無處不在。

最近掉進一坑,差點鑄成大錯。實在沒想到居然栽在pandas.read_csv上了,這里分享一下,希望大家注意。

另:業務數據不方便拿出來演示,為盡可能復現,這里我手造了一份,另存為 income.csv 文件。

a1ed2075a6746fc16d49e47b1137d00b.png

翻船記

讀取csv文件小菜一碟

import numpy as np
import pandas as pd
df = pd.read_csv(r'C:...income.csv',encoding='utf-8')

讀好了看看數據信息吧:

df.info()RangeIndex: 6 entries, 0 to 5
Data columns (total 1 columns):#   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 0   income  6 non-null      object
dtypes: object(1)
memory usage: 176.0+ bytes

誒,怎么數據成了object?不應該是float嗎?

不管他,硬轉一發

df=pd.DataFrame(df,dtype=np.float)

居然報錯了,1000被讀成了字符串。

e1df9a878d26e8a0bf1bb7ecf892ebb8.png

其實這里我還掉進了另一個坑,使用了一個已被棄用的 .convert_objects 方法。這種方法更硬,直接把string轉成了NaN,所以后面各種操作流暢且錯誤地進行著....這都是 pandas 沒升級的鍋,定期檢查升級包太有必要了(pip 的高階玩法)

說回剛才的問題,1,000被讀成了字符串是因為csv文件中它使用了千位分隔符。問題其實非常簡單,設置一下 thousands 參數就行了

df2 = pd.read_csv(r'C:...income.csv',encoding='utf-8',thousands =',')

看一下info

df2.info()<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6 entries, 0 to 5
Data columns (total 1 columns):#   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  0   income  6 non-null      float64
dtypes: float64(1)

往下繼續

df2.describe()income
count 6.000000
mean 16934.983333
std 40695.203980
min 0.000000
25% 32.425000
50% 300.000000
75% 875.000000
max 100000.000000

一切正常!

pandas.read_csv()參數

3672920677625d008ef9cfb1bfc0a73f.png

pandas.read_csv()的參數特別多,除了filepath,其他均可缺省。參數的具體含義這里就不贅述,還想復習一下的同學可以直接去看官方文檔

http://pandas.pydata.org/pandas-docs/stable/io.html

英語不好的同學可以看一下熱心博主的翻譯版: https://www.cnblogs.com/datablog/p/6127000.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371321.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371321.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371321.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python 第三方庫 cp27、cp35 等文件名的含義

What does version name ‘cp27’ or ‘cp35’ mean in Python? 如對于 gensim-0.12.4-cp27-none-win_amd64.whl文件名而言&#xff0c;將其文件名拆分的話&#xff0c;含義分別是&#xff1a; 0.12.4 - package version, they may be using semantic versioningcp27 - this p…

JAVA: 序列化

對象序列化 - 一個對象可以被表示為一個字節序列&#xff0c;保存對象的類型信息、對象的數據&#xff0c;還有對象中的數據類型&#xff0c;以便存儲或傳輸。 反序列化 - 將序列化對象寫入文件之后&#xff0c;可以從文件中讀取出來&#xff0c;并且對它進行反序列化&#xff…

尋找隨機的錯誤-一個真實的故事

幾周前&#xff0c;我完成了RapidFTR開源項目的錯誤查找 &#xff0c;這花了我三個晚上。 我認為可能值得分享狩獵的故事。 本文將介紹我的工作。 我將概述我的旅程&#xff0c;以實際找到正在發生的事情的根本原因。 我在本文中的目標是突出顯示可以使用的技術示例&#xff0c…

鈴木uy125摩托車機油_UY125 新瑞夢UM125發布 濟南鈴木于湖南株洲吹響國IV集結號...

?4月18日&#xff0c;濟南鈴木在湖南株洲天臺開元酒店舉行了2019年新品發布會&#xff0c;并于現場發布了兩款極具終端戰略意義的新款國IV車型&#xff0c;分別為定位“實用運動”的全新個性化踏板車型UY125&#xff0c;以及能夠進一步鞏固濟南鈴木在國IV入門級踏板車型領域絕…

473. 核電站問題

★ 輸入文件&#xff1a;nucle.in 輸出文件&#xff1a;nucle.out 簡單對比 時間限制&#xff1a;1 s 內存限制&#xff1a;128 MB 【問題描述】 一個核電站有 N 個放核物質的坑&#xff0c;坑排列在一條直線上。如果連續 M 個坑中放入核物質&#xff0c;則會發生爆炸&…

js判斷時間是早上還是下午_牛奶早上喝好,還是晚上喝好?沒想到“最佳時間”是這個點,顛覆了!...

都說喝牛奶好&#xff0c;要多喝。可什么時間喝牛奶最好呢&#xff1f;是飯前、飯后還是睡前&#xff1f;又或者喝酒前&#xff1f;確實得好好說說。傳言&#xff1a;空腹時身體比較缺能量&#xff0c;牛奶里的蛋白會去提供能量&#xff0c;不會去構成和修復組織(比如修復皮膚)…

Java模因拒絕死亡

也有標題&#xff1b; 我的寵物討厭Java編碼。 有許多Java模因讓我很煩&#xff0c;部分是因為它們總是一個壞主意&#xff0c;但主要是因為人們在找到更好的替代方案后的幾年里仍在繼續使用它們。 使用StringBuffer代替StringBuilder 從2004年開始&#xff0c;用于StringBuf…

Python TK編程第一部分 Hello Again

當你想寫大一點的程序的時候&#xff0c;將你的代碼封裝到一個或者多個類里會是一個不錯的辦法。下面hello world這個例子來自Matt Conway的Tkinter Life Preserver. [python]view plain copy from Tkinter import * class App: def __init__(self, master): …

視網膜脫離oct報告圖_剛剛,愛爾眼科發布關于艾芬醫生診療過程的核查報告

剛剛&#xff0c;愛爾眼科醫院集團發布關于艾芬女士診療過程的核查報告&#xff0c;內容如下&#xff1a;得悉艾芬女士對武漢愛爾眼科醫院白內障診療存疑&#xff0c;愛爾眼科醫院集團高度重視&#xff0c;第一時間成立了工作組奔赴武漢&#xff0c;對事件的診療全過程開展了核…

20145233《網絡對抗》第二周 后門原理與實踐

20145233《網絡對抗》第二周 后門原理與實踐 實驗內容 windows主機與kali虛擬機實現互聯互通使用netcat獲取主機操作Shell&#xff0c;cron啟動使用socat獲取主機操作Shell, 任務計劃啟動使用MSF meterpreter生成可執行文件&#xff0c;利用ncat或socat傳送到主機并運行獲取主機…

Spring 3.1:緩存和EhCache

如果在網上查找使用Spring 3.1內置緩存的示例&#xff0c;那么通常會碰到Spring的SimpleCacheManager &#xff0c;Spring的家伙說這對“用于測試或簡單的緩存聲明很有用”。 實際上&#xff0c;我更喜歡將SimpleCacheManager看作是輕量級的&#xff0c;而不是簡單的。 在您希望…

mysql-表完整性約束

閱讀目錄 一 介紹二 not null與default三 unique四 primary key五 auto_increment六 foreign key七 總結一 介紹 回到頂部 約束條件與數據類型的寬度一樣&#xff0c;都是可選參數 作用&#xff1a;用于保證數據的完整性和一致性主要分為&#xff1a; PRIMARY KEY (PK) 標識…

可消費消息數量_17 個方面,綜合對比 主流消息隊列

一、資料文檔二、開發語言三、支持的協議四、消息存儲五、消息事務六、負載均衡七、集群方式八、管理界面九、可用性十、消息重復十一、吞吐量TPS十二、訂閱形式和消息分發十三、順序消息十四、消息確認十五、消息回溯十六、消息重試十七、并發度本文將從&#xff0c;Kafka、Ra…

opencv2.4.13+python2.7學習筆記--使用 knn對手寫數字OCR

閱讀對象&#xff1a;熟悉knn、了解opencv和python。 1.knn理論介紹&#xff1a;算法學習筆記&#xff1a;knn理論介紹 2. opencv中knn函數 路徑&#xff1a;opencv\sources\modules\ml\include\opencv2\ml\ml.hpp 3.案例 3.1數據集介紹 我們的目的是創建一個可以對手寫數字進行…

如何遠程管理Quartz

選項1&#xff1a;JMX 許多人問他們是否可以通過JMX管理Quartz&#xff0c;但我不確定為什么Quartz doc甚至不會提及它。 是的&#xff0c;您可以使用quartz.properties的以下命令啟用石英中的JMX org.quartz.scheduler.jmx.export true之后&#xff0c;您可以使用標準的JMX客…

熱啟動必須聯網嗎_供暖結束,地暖是關閉供水閥門還是關閉回水閥門?你做對了嗎?...

天氣漸漸暖和起來很多城市都停止供暖了一些家庭也停止使用地暖那么今天就來聊一聊&#xff0c;停止供暖后地暖系統應該怎么保養地暖不用時候是關閉供水閥門還是關閉回水閥門&#xff1f;供暖結束 暖氣閥門到底要不要關一般來說&#xff0c;我們供暖期結束是不用關閉總閥門的。因…

python學習(九) 網絡編程學習--簡易網站服務器

python 網絡編程和其他語言都是一樣的&#xff0c;服務器這塊步驟為&#xff1a;1. 創建套接字2. 綁定地址3. 監聽該描述符的所有請求4. 有新的請求到了調用accept處理請求 Python Web服務器網關接口&#xff08;Python Web Server Gateway Interface&#xff0c;簡稱“WSGI”&…

concurrency 方面的books

http://joeduffyblog.com/2016/11/30/15-years-of-concurrency/轉載于:https://www.cnblogs.com/WCFGROUP/p/6566150.html

Spring 3.1緩存和配置

我最近在博客中談論有關Spring 3.1及其新的緩存注釋Cacheable和CacheEvict 。 與所有Spring功能一樣&#xff0c;您需要進行一定數量的設置&#xff0c;并且通常使用Spring的XML配置文件來完成。 在緩存的情況下&#xff0c;打開Cacheable和CacheEvict并不容易&#xff0c;因為…

按條件分類_保稅倉儲企業能否同時存儲非保貨物?“倉儲貨物安裝臺分類監管”如何申請?...

保稅倉儲企業能否同時存儲非保貨物呢&#xff1f;保稅和非保貨物是不是真的不能同在一個“屋檐下”呢&#xff1f;哪些企業可以開展“倉儲貨物按狀態分類監管”業務&#xff1f;企業又該如何申請該項業務&#xff1f;本文就對這些問題進行一下梳理。什么是“倉儲貨物按狀態分類…