婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python pandas讀取CSV文件的注意事項(適合新手)

Python pandas讀取CSV文件的注意事項(適合新手)

熱門標簽:梅州外呼業務系統 北京電信外呼系統靠譜嗎 大連crm外呼系統 洪澤縣地圖標注 地圖標注視頻廣告 高德地圖標注是免費的嗎 無錫客服外呼系統一般多少錢 百度地圖標注位置怎么修改 老人電話機器人

前言

本文是給使用pandas的新手而寫,主要列出一些常見的問題,根據筆者所踩過的坑,進行歸納總結,希望對讀者有所幫助。

示例文件

將以下內容保存為文件 people.csv。

id,姓名,性別,出生日期,出生地,職業,愛好
1,張小三,m,1992-10-03,北京,工程師,足球
2,李云義,m,1995-02-12,上海,程序員,讀書 下棋
3,周娟,女,1998-03-25,合肥,護士,音樂,跑步
4,趙盈盈,Female,2001-6-32,,學生,畫畫
5,鄭強強,男,1991-03-05,南京(nanjing),律師,歷史-政治

如果一切正常的話,在Jupyter Notebook 中應該顯示以下內容:

文件編碼

文件編碼格式是最容易出錯的問題之一。如果編碼格式不正確,就會完全讀取不出文件內容,出現類似于以下的錯誤, 讓人完全不知所措:

---------------------------------------------------------------------------
UnicodeDecodeError                        Traceback (most recent call last)
ipython-input-6-8659adefcfa6> in module>
----> 1 pd.read_csv('people.csv', encoding='gb2312')

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision)
    683         )
    684
--> 685         return _read(filepath_or_buffer, kwds)
    686
    687     parser_f.__name__ = name

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)
    455
    456     # Create the parser.
--> 457     parser = TextFileReader(fp_or_buf, **kwds)
    458
    459     if chunksize or iterator:

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self, f, engine, **kwds)
    893             self.options["has_index_names"] = kwds["has_index_names"]
    894
--> 895         self._make_engine(self.engine)
    896
    897     def close(self):

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py in _make_engine(self, engine)
   1133     def _make_engine(self, engine="c"):
   1134         if engine == "c":
-> 1135             self._engine = CParserWrapper(self.f, **self.options)
   1136         else:
   1137             if engine == "python":

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self, src, **kwds)
   1915         kwds["usecols"] = self.usecols
   1916
-> 1917         self._reader = parsers.TextReader(src, **kwds)
   1918         self.unnamed_cols = self._reader.unnamed_cols
   1919

pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader.__cinit__()

pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader._get_header()

UnicodeDecodeError: 'gb2312' codec can't decode byte 0x93 in position 2: illegal multibyte sequence

目前對于中文而言,最常使用的有 utf-8 和 gb2312 兩種格式,只需要指定正確的編碼。在不知道編碼的情況下,只需要嘗試兩次即可。padas默認的文件編碼格式是 utf-8,所以如果出現以上錯誤,只需使用 encoding=gb2312 再嘗試一下即可,如 pd.read_csv(file, encoding='gb2312')。

空值

空值是csv中也非常常見,比如以下內容:

import pandas as pd
df = pd.read_csv('people.csv')
v1=df['出生地'][3]
print(v1, type(v1))

輸出為:

nan class 'float'>

由此可見,空值也是有數據類型的,為 float 類型。

如何判斷空值有兩種方法,可以使用 math.isnan(x) 也可以使用 isinstance(float)。我們知道,DateFrame對象是包括Series對象,而在一個Series對象中,所有的數據類型默認是一樣的,所以如果其數據類型推斷為字符串(str),那么直接使用 math.isnan(x) 則會報錯 TypeError: must be real number, not str 錯誤,即必需為實數,不能是字符串。所以,這時我們還需要使用 isinstance(x, flaot) 方法。
具體請看這個示例:

df.出生地=df.出生地.map(lambda x: '其他' if isinstance(x, float) else x)
df


日期錯誤

出生日期中,有的數據錯誤,如趙盈盈的出生日期是6月32號,所以報錯了。對于這樣類似的錯誤,我們可以使用函數判斷的方式進行處理,具體如下。

首先,編寫 isDate 函數用于判斷日期是否合法。

def isDate(adate):
    try:
        sects = adate.split('-')
        year = int(sects[0])
        month = int(sects[1])
        day = int(sects[2])
        days = [0, 31, 29 if year % 4 == 0 else 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
        return year > 0 and year  9999 and month > 0 and month = 12 and day > 0 and day = days[month]
    except:
        return False

然后使用以下代碼進行判斷:

for id in df.index:
    if not isDate(df.loc[id, '出生日期']):
        print(df.loc[id, '出生日期'])
        df.loc[id, '出生日期'] = '2000-01-01'

輸出結果如下,可見錯誤的日期被修改成了2020年1月1日。

2001-6-32
   id   姓名      性別        出生日期          出生地   職業     愛好 
0   1  張小三       m  1992-10-03           北京  工程師     足球  
1   2  李云義       m  1995-02-12           上海  程序員  讀書 下棋  
2   3   周娟       女  1998-03-25           合肥   護士  音樂,跑步  
3   4  趙盈盈  Female  2000-01-01          NaN   學生     畫畫   
4   5  鄭強強       男  1991-03-05  南京(nanjing)   律師  歷史-政治  

函數映射

方法1:直接使用labmda表達式

需要對數據列進行復雜操作的時候,我們可以使用以下函數時行相應的操作。

df=df.fillna('未知')
df.愛好=df.愛好.map(lambda x: x.split(' ')[0].split('-')[0].split(',')[0])
df

方法二:使用自定義函數

在進行映射時,如果操作比較簡單,可以使用字典的方式進行數值映射映射(參見下文)。但是如果操作比較復雜,則需要使用函數進行映射。請看這個示例,讀取到性別時,內容有 ‘m', ‘M', ‘Female' 等內容,現在需要其全部轉換為 男 或 女:

def set_sex(s):
    if s.lower() == 'm' or s.lower() == 'male':
        return '男'
    elif s.lower() == 'female':
        return '女'        
    return s

df = pd.read_csv('people.csv', converters={'性別': lambda x : set_sex(x)})
df

方法三:使用數值字典映射

在數據處理時,數值型往往比字符串效率更高,所以在可能的情況下,我們希望將數據轉換成字符串處理。請看這個示例,將輸入的數據的性別中的男性轉換為1 女性轉換為0。操作如下:

總結

到此這篇關于Python pandas讀取CSV文件注意事項的文章就介紹到這了,更多相關pandas讀取CSV文件內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 使用Python pandas讀取CSV文件應該注意什么?
  • python 如何把classification_report輸出到csv文件
  • Python批量將csv文件轉化成xml文件的實例
  • python刪除csv文件的行列
  • 使用python把json文件轉換為csv文件
  • python 如何讀、寫、解析CSV文件
  • python讀寫數據讀寫csv文件(pandas用法)
  • Python將list元素轉存為CSV文件的實現
  • 利用python 讀寫csv文件
  • Python如何讀寫CSV文件
  • 如何運用python讀寫CSV文件

標簽:長春 洛陽 怒江 安慶 泉州 吉林 岳陽 清遠

巨人網絡通訊聲明:本文標題《Python pandas讀取CSV文件的注意事項(適合新手)》,本文關鍵詞  Python,pandas,讀取,CSV,文件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python pandas讀取CSV文件的注意事項(適合新手)》相關的同類信息!
  • 本頁收集關于Python pandas讀取CSV文件的注意事項(適合新手)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    中文字幕一区二区三区四区| 91精品国产手机| 国产视频在线观看一区二区三区| 26uuu久久天堂性欧美| 色狠狠综合天天综合综合| 精品中文字幕一区二区小辣椒| www成人在线观看| 91精品免费在线观看| 欧美网站一区二区| 色噜噜狠狠色综合欧洲selulu| 九九在线精品视频| 麻豆精品国产91久久久久久| av在线播放不卡| 久久爱www久久做| 日本视频一区二区三区| 偷拍自拍另类欧美| 亚洲精品欧美专区| 亚洲天堂av一区| 一区在线观看视频| 国产精品三级在线观看| 精品国产百合女同互慰| 久久一区二区三区四区| 国产欧美va欧美不卡在线| 精品成人一区二区三区四区| 欧美tk丨vk视频| 久久精品无码一区二区三区| 久久新电视剧免费观看| 久久美女高清视频| 欧美极品aⅴ影院| 久久久久国产精品麻豆ai换脸| 日韩欧美国产一区二区三区| 日韩你懂的在线播放| 国产一区二区影院| 国产成人aaaa| 黑人精品欧美一区二区蜜桃 | 26uuu色噜噜精品一区二区| 欧美一卡2卡3卡4卡| 精品国产免费一区二区三区香蕉| 91精品国产欧美一区二区18| 精品成人佐山爱一区二区| 亚洲国产电影在线观看| 亚洲精品国产第一综合99久久| 日本高清不卡在线观看| 色丁香久综合在线久综合在线观看| 一本色道久久综合亚洲91| 在线这里只有精品| 精品美女一区二区三区| 国产精品系列在线| 一区二区激情视频| 美国毛片一区二区| 99久久99久久久精品齐齐| 欧美日韩五月天| 国产片一区二区三区| 亚洲一区精品在线| 午夜欧美视频在线观看| 久久国产生活片100| 成人免费高清在线| 91国产福利在线| 欧美一卡在线观看| 亚洲三级久久久| 奇米888四色在线精品| 偷拍一区二区三区| eeuss鲁片一区二区三区| 7777精品伊人久久久大香线蕉完整版 | 色呦呦一区二区三区| 国产成人精品亚洲日本在线桃色 | 99久久精品费精品国产一区二区| 一本到高清视频免费精品| 欧美一级理论性理论a| 亚洲美女视频在线| 日日夜夜免费精品| 日本电影亚洲天堂一区| 国产亚洲人成网站| 免费在线观看视频一区| 欧美色图天堂网| 亚洲情趣在线观看| 成人一级视频在线观看| 亚洲精品一区二区三区影院 | 久久九九影视网| 亚洲蜜臀av乱码久久精品| 国产精品原创巨作av| 91精品免费在线| 香蕉成人伊视频在线观看| 成人av免费网站| 国产亚洲精品aa午夜观看| 婷婷亚洲久悠悠色悠在线播放| 国产综合久久久久影院| 欧美一区二区私人影院日本| 中文av一区二区| 粉嫩aⅴ一区二区三区四区 | 国产日韩欧美精品在线| 日韩精品一卡二卡三卡四卡无卡| 极品少妇xxxx精品少妇| 色噜噜狠狠色综合中国| 中文一区在线播放| 九色|91porny| 日韩精品一区二区三区视频| 一区二区三区美女视频| 国产精品综合二区| 国产色91在线| 不卡的av在线| 亚洲免费成人av| 在线免费一区三区| 香蕉成人伊视频在线观看| 69堂亚洲精品首页| 久草精品在线观看| 久久亚洲精华国产精华液 | 国产精品一线二线三线精华| 日韩一区二区免费电影| 日韩av二区在线播放| 日韩欧美视频在线| 激情六月婷婷综合| 亚洲国产成人在线| 在线精品视频免费观看| 亚洲一区在线看| 欧美日韩美女一区二区| 蜜桃视频免费观看一区| 精品国产乱码久久久久久久| 国产精品一线二线三线| 亚洲日本青草视频在线怡红院| 不卡的看片网站| 国产精品二区一区二区aⅴ污介绍| 国产91精品久久久久久久网曝门| 国产午夜一区二区三区| 成人国产在线观看| 婷婷久久综合九色综合伊人色| 日韩一区二区三区视频| 国产成人小视频| 国产精品乱人伦| 欧美一级片在线看| 成人永久免费视频| 一区二区三区四区高清精品免费观看| bt7086福利一区国产| 亚洲欧美日韩一区| 日韩欧美二区三区| 在线观看亚洲成人| 国产美女在线精品| 亚洲丝袜美腿综合| 精品日韩在线观看| 欧美人狂配大交3d怪物一区| av一区二区三区四区| 亚洲妇熟xx妇色黄| 亚洲欧洲在线观看av| 日韩三级高清在线| av中文字幕亚洲| 国产在线国偷精品产拍免费yy| 亚洲最大成人网4388xx| 欧美国产国产综合| 日韩一区二区免费电影| 欧洲激情一区二区| 99久久精品一区| 国产凹凸在线观看一区二区| 美女网站在线免费欧美精品| 亚洲一区在线观看免费| 国产精品成人午夜| 久久午夜国产精品| 日韩女优av电影| 日韩一区二区三区免费看| 欧美日精品一区视频| 91久久一区二区| 91亚洲精华国产精华精华液| 国产成人精品免费在线| 久久激情五月激情| 日韩av电影免费观看高清完整版在线观看| 国产亚洲综合在线| 欧美日韩小视频| 欧美日韩黄视频| av亚洲精华国产精华精| 国内精品伊人久久久久影院对白| 一区二区理论电影在线观看| 国产精品区一区二区三区| 欧美国产精品中文字幕| 中文在线免费一区三区高中清不卡| 日韩精品专区在线| 日韩三级视频在线看| 亚洲精品在线免费播放| 久久久久久久久久久久久女国产乱| 日韩一区二区三| 精品免费国产二区三区| 久久久久综合网| 在线一区二区三区做爰视频网站| 99久久精品免费观看| 99久久婷婷国产综合精品电影| 黄色成人免费在线| 精品写真视频在线观看| 国产真实乱子伦精品视频| 国产99久久久精品| 99久久精品久久久久久清纯| 欧美亚洲国产一卡| 欧美高清视频在线高清观看mv色露露十八 | 国产福利精品导航| 久久99热狠狠色一区二区| 丝袜美腿亚洲一区| 水蜜桃久久夜色精品一区的特点 | 激情文学综合网| 久草在线在线精品观看| 国产成人精品免费| 91丝袜国产在线播放| 欧美三级在线看| 99re在线视频这里只有精品|