導航:首頁 > 文件管理 > pandas怎麼判定文件有多少列

pandas怎麼判定文件有多少列

發布時間:2022-09-12 15:28:06

Ⅰ pandas如何統計excel中列數據的行數

准備測試數據:

運行效果展示

附上實現代碼

#!/usr/bin/env python

import pandas as pd

OPENPATH = 'test.xls'
SAVEPATH = 'test1.xls'

def total_count(path=OPENPATH, sheetname='testsheet'):
df = pd.read_excel(path, sheet_name=sheetname, names=['值', '計數'])
# 獲取統計項目
item_name = set(df['值'])
# 創建字典統計
total_dict = dict(zip([i for i in item_name], [
0 for _ in range(len(item_name))]))
# 遍歷」值「列,逐個統計數量
for index, item in enumerate(df['值']):
# 如果在set中
if item in item_name:
# 加入計數統計
total_dict[item] += df['計數'][index]
# 返回
return total_dict

def datato_excel(path=SAVEPATH, sheet_name='total', data_dict={}):
report_df = pd.DataFrame.from_dict(data_dict,orient='index')
xl_writer = pd.ExcelWriter(path)
report_df.to_excel(xl_writer, sheet_name)
try:
xl_writer.save()
print('Save completed')
except:
print('Error in saving file')

if __name__ == "__main__":
datato_excel(data_dict=total_count())

不知道這是不是您想要的結果,如果有幫助,請採納一下,謝謝!

Ⅱ 怎樣得到pandas中dataframe的行數和列數

df.shape 返回元組(行,列)

Ⅲ python panda 統計一列有多少數據

創建數據

通過Python的zip構造出一元組組成的列表作為DataFrame的輸入數據rec。

In [3]: import pandas as pd
In [4]: import random
In [5]: num = random.sample(xrange(10000, 1000000), 5)
In [6]: num
Out[6]: [244937, 132008, 278446, 613409, 799201]
In [8]: names = "hello the cruel world en".split()
In [9]: names
Out[9]: ['hello', 'the', 'cruel', 'world', 'en']
In [10]: rec = zip(names, num)
In [15]: data = pd.DataFrame(rec, columns = [u"姓名",u"業績" ])
In [16]: data
Out[16]:
姓名 業績
0 hello 244937
1 the 132008
2 cruel 278446
3 world 613409
4 en 799201

DataFrame方法函數的第一個參數是數據源,第二個參數columns是輸出數據表的表頭,或者說是表格的欄位名。

導出數據csv

Windows平台上的編碼問題,我們可以先做個簡單處理,是ipython-notebook支持utf8.
import sys
reload(sys)
sys.setdefaultencoding("utf8")

接下來可以數據導出了。
In [31]: data
Out[31]:
姓名 業績
0 hello 244937
1 the 132008
2 cruel 278446
3 world 613409
4 en 799201
#在ipython-note里後加問號可查幫助,q退出幫助
In [32]: data.to_csv?
In [33]: data.to_csv("c:\\out.csv", index = True, header = [u"雇員", u"銷售業績"])

將data導出到out.csv文件里,index參數是指是否有主索引,header如果不指定則是以data里columns為頭,如果指定則是以後邊列表裡的字元串為表頭,但要注意的是header後的字元串列表的個數要和data里的columns欄位個數相同。

可到c盤用Notepad++打開out.csv看看。

簡單的數據分析
In [43]: data
Out[43]:
姓名 業績
0 hello 244937
1 the 132008
2 cruel 278446
3 world 613409
4 en 799201

Ⅳ Pandas-DataFrame基礎知識點總結

DataFrame是一種表格型數據結構,它含有一組有序的列,每列可以是不同的值。DataFrame既有行索引,也有列索引,它可以看作是由Series組成的字典,不過這些Series公用一個索引。
DataFrame的創建有多種方式,不過最重要的還是根據dict進行創建,以及讀取csv或者txt文件來創建。這里主要介紹這兩種方式。

根據字典創建

DataFrame的行索引是index,列索引是columns,我們可以在創建DataFrame時指定索引的值:

使用嵌套字典也可以創建DataFrame,此時外層字典的鍵作為列,內層鍵則作為索引:

我們可以用index,columns,values來訪問DataFrame的行索引,列索引以及數據值,數據值返回的是一個二維的ndarray

讀取文件
讀取文件生成DataFrame最常用的是read_csv,read_table方法。該方法中幾個重要的參數如下所示:

其他創建DataFrame的方式有很多,比如我們可以通過讀取mysql或者mongoDB來生成,也可以讀取json文件等等,這里就不再介紹。

在DataFrame的處理中經常會遇到軸的概念,這里先給大家一個直觀的印象,我們所說的axis=0即表示沿著每一列或行標簽索引值向下執行方法,axis=1即表示沿著每一行或者列標簽模向執行對應的方法。

索引、切片
我們可以根據列名來選取一列,返回一個Series:

我們還可以選取多列或者多行:

當然,在選取數據的時候,我們還可以根據邏輯條件來選取:

pandas提供了專門的用於索引DataFrame的方法,即使用ix方法進行索引,不過ix在最新的版本中已經被廢棄了,如果要是用標簽,最好使用loc方法,如果使用下標,最好使用iloc方法:

修改數據
可以使用一個標量修改DataFrame中的某一列,此時這個標量會廣播到DataFrame的每一行上:

也可以使用一個列表來修改,不過要保證列表的長度與DataFrame長度相同:

可以使用一個Series,此時會根據索引進行精確匹配:

重新索引
使用reindex方法對DataFrame進行重新索引。對DataFrame進行重新索引,可以重新索引行,列或者兩個都修改,如果只傳入一個參數,則會從新索引行:

填充數據只能按行填充,此時只能對行進行重新索引:

丟棄指定軸上的值
可以使用drop方法丟棄指定軸上的值,不會對原DataFrame產生影響

算術運算
DataFrame在進行算術運算時會進行補齊,在不重疊的部分補足NA:

可以使用fill_value方法填充NA數據,不過兩個df中都為NA的數據,該方法不會填充:

函數應用和映射
numpy的元素級數組方法,也可以用於操作Pandas對象:

另一個常見的操作是,將函數應用到由各列或行所形成的一維數組上。DataFrame的apply方法即可實現此功能。

元素級的Python函數也是可以用的,使用applymap方法:

排序和排名
對於DataFrame,sort_index可以根據任意軸的索引進行排序,並指定升序降序

DataFrame也可以按照值進行排序:

匯總和計算描述統計
DataFrame中的實現了sum、mean、max等方法,我們可以指定進行匯總統計的軸,同時,也可以使用describe函數查看基本所有的統計項:

DataFrame也實現了corr和cov方法來計算一個DataFrame的相關系數矩陣和協方差矩陣,同時DataFrame也可以與Series求解相關系數。

處理缺失數據
Pandas中缺失值相關的方法主要有以下三個:
isnull方法用於判斷數據是否為空數據;
fillna方法用於填補缺失數據;
dropna方法用於舍棄缺失數據。
上面兩個方法返回一個新的Series或者DataFrame,對原數據沒有影響,如果想在原數據上進行直接修改,使用inplace參數:

對DataFrame來說,dropna方法如果發現缺失值,就會進行整行刪除,不過可以指定刪除的方式,how=all,是當整行全是na的時候才進行刪除,同時還可以指定刪除的軸。

DataFrame填充缺失值可以統一填充,也可以按列填充,或者指定一種填充方式:

Ⅳ python判斷數據框有幾行幾列

啟動ipython
notebook,載入pylab環境:
ipython
notebook
--pylab=inline
pandas提供了io工具可以將大文件分塊讀取,測試了一下性能,完整載入9800萬條數據也只需要263秒左右,還是相當不錯了。
import
pandas
as
pd
reader
=
pd.read_csv('dat

Ⅵ python 查看dataframe每列有多少個不同元素

方法一:

mylist = set(say)#say為所要統計的列表

for item in mylist: #將列表中的元素無重復的抽取出來,賦值給另一個列表

print item + str( say.count(item)) #list.count(item) 輸出item在list中出現的次數

方法二:

counts = { } #字典
for x in time_zones: #time_zones 為列表
if x in counts:
counts[x] += 1
else:
counts[x] = 1
print counts

方法三:

(Series與Datafram用法相同)

import numpy as np

import pandas as pd

from pandas import DataFrame

from pandas import Series

ss = Series(['Tokyo', 'Nagoya', 'Nagoya', 'Osaka', 'Tokyo', 'Tokyo'])

ss.value_counts() #value_counts 直接用來計算series裡面相同數據出現的頻率

(6)pandas怎麼判定文件有多少列擴展閱讀:

python函數的其他高級用法

1.使用函數變數:

Python 的函數也是一種值:所有函數都是 function 對象,這意味著可以把函數本身賦值給變數,就像把整數、浮點數、列表、元組賦值給變數一樣。

2.使用函數作為函數形參:

有時候需要定義一個函數,該函數的大部分計算邏輯都能確定,但某些處理邏輯暫時無法確定,這意昧著某些程序代碼需要動態改變,如果希望調用函數時能動態傳入這些代碼,那麼就需要在函數中定義函數形參,這樣即可在調用該函數時傳入不同的函數作為參數,從而動態改變這段代碼。

3.使用函數作為返回值:

程序中,定義了一個 get_math_func() 函數,該函數將返回另一個函數。接下來在 get_math_func() 函數體內的 ①、②、③ 號粗體字代碼分別定義了三個局部函數,最後 get_math_func() 函數會根據所傳入的參數,使用這三個局部函數之一作為返回值。

在定義了會返回函數的 get_math_func() 函數之後,接下來程序調用 get_math_func() 函數時即可返回所需的函數。

Ⅶ 我想算出第一行有幾列,讀取的是csv文件,但不知道為什麼算不出來,代碼如下

#DataFrame沒有直接使用下標的方式
#改為
s=len(data.loc[0])
prints

Ⅷ pandas 怎麼根據一列的數據的值的情況判斷來生成另外一列的數值

如果A列大於等於60,B列返回1,否則返回0,那麼在B2單元格輸入以下公式,然後向下填充公式
=IF(A2>=60,1,0)

Ⅸ pandas讀取excel文件指定列

讀取Excel文件,指定列需要在軟體中點擊文檔表格插入開啟。
然後找到信息指定功能。
選定文件進行文件的行列,對比標定列項來進行讀取。

閱讀全文

與pandas怎麼判定文件有多少列相關的資料

熱點內容
網路檢測可以檢測到什麼 瀏覽:504
sip協議教程 瀏覽:832
編程哪裡可以接項目 瀏覽:119
孤島驚魂win10 瀏覽:246
網路HRV是什麼意思 瀏覽:918
word框中打勾 瀏覽:577
tcl筆試題java 瀏覽:467
win10怎麼登錄安全模式 瀏覽:679
除了archdaily還有什麼網站 瀏覽:567
數控下料圓形怎麼編程 瀏覽:785
安裝游戲在文件管理找不到怎麼辦 瀏覽:216
想買奢侈包包下載什麼app 瀏覽:1000
閃送員是哪裡的app 瀏覽:530
火車站進站閘機的數據哪裡可以查 瀏覽:503
cad備份文件清理軟體 瀏覽:822
夾具裝配圖cad文件百度網盤 瀏覽:567
如何將excel表格轉成文件包 瀏覽:1
網路配置文件應該怎麼設置 瀏覽:886
蘋果全能文件王下載位置 瀏覽:700
中國知網是哪些資料庫 瀏覽:280

友情鏈接