pandas中read_excel和read_csv出現問題
利用Python的pandas資料結構來讀取excel表格的資料,部分程式碼如下:
#-*- coding:utf-8 -*-
import pandas as pd
import matplotlib.pyplot as plt
catering_data="catering_sale.xls"
data=pd.read_excel(catering_data,index_col=u'日期')
#讀取資料,指定"日期"列為索引列
大多數書上都是這樣寫的,但是在Python2.7上執行時出現錯誤。(沒有在Python3.x版本試過)
出現瞭如下問題:
使用help(pd.read_excel)
#-*- coding:utf-8 -*-
import pandas as pd
import matplotlib.pyplot as plt
catering_data="catering_sale.xls"
data=pd.read_excel(catering_data,sheetname=0,index_col=u'日期')
執行成功。
sheetname=0 的意思是:讀取xls檔案中的第一個表格。(假設檔案中有很多個表格)
另外,也可以將檔案轉換成csv格式,就不需要這個引數了。程式碼如下:
catering_data ="catering_sale.csv"
data=pd.read_csv(catering_data)
但是,也出現問題了,csv檔案中的中文不能正常顯示,查資料也沒有解決這個問題,希望看到的人可以幫助我解決這個問題,謝謝!
相關推薦
pandas中read_excel和read_csv出現問題
利用Python的pandas資料結構來讀取excel表格的資料,部分程式碼如下: #-*- coding:utf-8 -*- import pandas as pd import matplotlib.pyplot as plt catering_da
pandas中Series()和DataFrame()的區別與聯絡
區別: series,只是一個一維資料結構,它由index和value組成。 dataframe,是一個二維結構,除了擁有index和value之外,還擁有column。 聯絡: dataframe由多個series組成,無論是行還是列,單獨拆分出來都是一個series。 程式碼演示:
pandas中concatenate和combine_first的用法
concatenate主要作用是拼接series和dataframe的資料。 combine_first可以做來填充資料。 import numpy as np import pandas as pd from pandas import Series, DataFrame # 設
pandas中Series和Dataframe的排序操作
對pandas中的Series和Dataframe進行排序,主要使用sort_values()和sort_index()。 DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind=‘quicksort’,
pandas中apply和transform方法的效能比較
1. apply與transform 首先講一下apply() 與transform()的相同點與不同點 相同點: 都能針對dataframe完成特徵的計算,並且常常與groupby()方法一起使用。 不同點: apply()裡面可以跟自定義的函式,包括簡單的求和函式以及複雜的特徵間的差值函式等(注:appl
pandas中字串和日期的相互轉換
原文地址:http://blog.csdn.net/luoganttcc/article/details/77585038?locationNum=8&fps=1 將數字轉化成時間格式 from dateutil.parser import parse a
pandas中read_excel 與to_excel 的學習
平時的資料分析中,總是需要對excel表格中不同的資料進行彙總、合併、切分,因為excel是面向物件的圖形操作,簡單,但是當進行大規模的資料彙總、合併,切分處理的時候,就比較勞心勞力,且因為資料操作過程中,人工操作的高度介入導致資料處理過程中容易出錯,剛好最近
pandas中read_csv()方法和DataFrame物件的to_csv()
pandas中read_csv()方法和DataFrame物件的to_csv()方法的使用介紹 安裝pandas pip3 install pandas to_csv() 官方呼叫介紹 介紹:將DataFrame寫入逗號分隔值csv檔案
Java中Integer和int比較大小出現的錯誤
最好 裏的 pan 轉換 als 範圍 urn 返回 錯誤 Java在某一處維護著一個常量池,(我記得)在小於128的範圍內,直接用 1 Integer i = 100; 2 int j = 100; 3 return i == j;//true 這裏返回的是true.
pandas中pd.read_excel()方法中的converters參數
exc 對象 實現 編碼 類型 div spa 方法 情況 最近用pandas的pd.read_excel()方法讀取excel文件時,遇到某一列的數據前面包含0(如010101)的時候,pd.read_excel()方法返回的DataFrame會將這一列視為int類型,即
idea中復制module和module中的藍色tag出現的方法
出現 修改 pos 自動 不能 src 繼續 步驟 mod 1、在從github上面導入項目到idea中時,經常好多module都是沒有藍色的tag的,這說明這不是個maven形式的module,需要導入到項目中。 舉個例子: 有藍色tag的module才可以用,沒有
pl/sql developer中寫SQL時出現ORA-06550和PLS-00553
ORA-06550 PLS-00553 pl/sql 【現象】在pl/sql中寫SQL時,出現一些問題。ORA-06550:亂碼PLS-00553:亂碼ORA-06550:亂碼PL/SQL:Compilation unit analysis terminated【原因】由於Oracle的系統配置文
在PyODPS DataFrame自定義函數中使用pandas、scipy和scikit-learn
函數背景PyODPS DataFrame 提供了類似 pandas 的接口,來操作 ODPS 數據,同時也支持在本地使用 pandas,和使用數據庫來執行。PyODPS DataFrame 除了支持類似 pandas 的 map 和 apply 方法,也提供了 MapReduce API 來擴展 pandas
pandas中read_csv的缺失值處理
今天遇到的問題是,要將一份csv資料讀入dataframe,但某些列中含有NA值。對於這些列來說,NA應該作為一個有意義的level,而不是缺失值,但read_csv函式會自動將類似的缺失值理解為缺失值並變為NaN。 看pandas文件中read_csv函式中這兩個引數的描述,預設會將’-1
numpy中的ndarray與pandas的Series和DataFrame之間的區別
在資料分析中,經常涉及numpy中的ndarray物件與pandas的Series和DataFrame物件之間的轉換,讓大家產生困惑。本文將簡單介紹這三種資料型別,並以股票資訊為例,給出相關物件之間轉換的具體示例。 ndarray陣列物件 NumPy中的ndarray是一個多維陣列物件,該物
pandas中的map和replace操作
map可以做一個對映,對於操作大型的dataframe來說就非常方便了,而且也不容易出錯。replace的作用是替換,這個很好理解。 import numpy as np import pandas as pd from pandas import Series, DataFrame
pandas中dataframe的索引使用和轉換為array
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Tue Nov 6 23:44:54 2018 @author: lilong """ import pandas as pd import numpy as
pandas中的stack,unstack和numpy,stack,hstack,vstack通俗理解
在網上看上很多關於numpy中stack的複雜解釋,其實他的實際含義和用法很簡單,被人理解複雜了,當然,我們先看pandas中的stack,unstack的用法: 1,在我們常見的資料層次化結構分為兩種,一種是花括號(一維資料),一種是表格(二維度資料),這個參考瞭如下網址https://w
pandas中loc,iloc和ix的區別
pandas (loc、iloc、ix)的區別 loc:通過行標籤索引資料 iloc:通過行號索引行資料,df.iloc[i]返回df的第i行。 i不引用索引標籤,i是從0開始的索引 ix:通過行標籤或行號索引資料(基於loc和iloc的混合) 1.使
字串------找出01串中o和1連續出現的最大次數
題目: 思路: 記錄遍歷中的最大值,與temp比較,並交換 程式碼: void Calculate(const char *str,int *max0,int *max1) { int temp0=0; //儲存0串的最大長度 int temp1=