pythondataframe行數
㈠ python數據分析2:DataFrame對象
DataFrame對象:二維表數據結構,由行列數據組成的表格
常用index表示行,columns表示列
'''
語文 數學 英語
0 110 105 99
1 105 88 115
2 109 120 130
'''
# print(df.columns) # Index(['語文', '數學', '英語'], dtype='object')
# print(df.index) # Int64Index([0, 1, 2], dtype='int64')
# 遍歷DataFrame數據的每一列
'''
0 110
1 105
2 109
Name: 語文, dtype: int64
0 105
1 88
2 120
Name: 數學, dtype: int64
0 99
1 115
2 130
Name: 英語, dtype: int64
'''
1.創建一個DataFrame對象
pandas.DataFrame(data,index,columns,dtype,)
# data表示數據,可以是ndarray數組,series對象、列表、字典等
# index表示行標簽(索引)
# columns表示列標簽(索引)
# dtype每一列數據的數據類型
# 用於復制數據
# 返回值DataFrame
通過二維數組創建成績表
'''
語文 數學 英語
0 110 105 99
1 105 88 115
2 109 120 130
'''
2.通過字典創建DataFrame對象
value值只能是一維數組或單個的簡單數據類型
# 數組,則要求所有的數組長度一致
# 單個數據,每行都需要添加相同數據
'''
語文 數學 英語 班級
0 110 105 109 高一7班
1 105 88 120 高一7班
2 99 115 130 高一7班
'''
'''
【DataFrame屬性】
values 查看所有元素的值 df.values
dtypes 查看所有元素的類型 df.dtypes
index 查看所有行名、重命名行名 df.index df.index=[1,2,3]
columns 查看所有列名、重命名列名 df.columns df.columns=['語','數']
T 行列數據轉換 df.T
head 查看前n條數據,默認5條 df.head() df.head(10)
tail 查看後n條數據,默認5條 df.tail() df.tail(10)
shape 查看行數和列數,[0]表示行,[1]表示列 df.shape[0] df.shape[1]
info 查看索引,數據類型和內存信息 df.info
【DataFrame函數】
describe 查看每列的統計匯總信息,DataFrame類型 df.describe()
count 返回每一列中的非空值的個數 df.count()
sum 返回每一列和和,無法計算返回空值 df.sum()
max 返回每一列的最大值 df.max()
min 返回每一列的最小值 df.min()
argmax 返回最大值所在的自動索引位置 df.argmax()
argmin 返回最小值所在的自動索引位置 df.argmin()
idxmax 返回最大值所在的自定義索引位置 df.idxmax()
idxmin 返回最小值所在的自定義索引位置 df.idxmin()
mean 返回每一列的平均值 df.mean()
median 返回每一列的中位數 df.median()
var 返回每一列的方差 df.var()
std 返回每一列的標准差 df.std()
isnull 檢查df中的空值,空值為True,否則為False,返回布爾型數組 df.isnull()
notnull 檢查df中的空值,非空值為True,否則為False,返回布爾型數組 df.notnull()
中位數又稱中值,是指按順序排列的一組數據中居於中間位置的數
方差用於度量單個隨機變數的離散程序(不連續程度)
標准差是方差的算術平方根,反映數據集的離散程度
'''
3. 導入.xls或.xlsx文件
# pandas.read_excel(io,sheetname=0,header=0,names=None,index_col=None,usecols=None,squeeze=False,dtype=None,engine=None,converters=None,true_values=None,false_values=None,skiprows=None,nrow=None,na_values=None,keep_defalut_na=True,verbose=False,parse_dates=False,date_parser=None,thousands=None,comment=None,skipfooter=0,conver_float=True,mangle_pe_cols=True,**kwds)
'''
io 字元串,xls或xlsx文件路徑或類文件對象
sheet_name:None、字元串、整數、字元串列表或整數列表,默認值為0
字元串用於工作表名稱;整數為索引,表示工作表位置
字元串列表或整數列表用於請求多個工作表,為None時則獲取所有的工作表
sheet_name = 0 第一個Sheet頁中的數據作為DataFrame對象
sheet_name = 1 第二個Sheet頁中的數據作為DataFrame對象
sheet_name = 'Sheet1' 名為Sheet1的Sheet頁中的數據作為DataFrame對象
sheet_name = [0,1,'Sheet3'] 第一個,第二個和名為Sheet3的Sheet頁中的數據作為DataFrame對象
header:指定作為列名的行,默認值為0,即取第一行的值為列名。或數據不包含列名,則為header=None
names:默認值為None,要使用的列名列表
index_col:指定列為索引列,默認值為None,索引0是DataFrame對象的行標簽
usecols:int、list或字元串,默認值為None
如為None,則解析所有列
如為int,則解析最後一列
如為list列表,則解析列號和列表的列
如為字元串,則表示以逗號分隔的Excel列字母和列范圍列表
squeeze:布爾值,默認為False,如果解析的數據只包含一列,則返回一個Series
dtype:列的數據類型名稱為字典,默認值為None
skiprows:省略指定行數的數據,從第一行開始
skipfooter:省略指定行數的數據,從尾部數的行開始
4.導入指定Sheet頁的數據
# sheet_name=0表示第一個sheet頁的數據,以此類推,如果不指定,則導入第一頁
5.指定行索引導入Excel數據
'''
Empty DataFrame
Columns: []
Index: [1, 3, 5]
'''
# 導入第一列數據
'''
Empty DataFrame
Columns: []
Index: [1, 3, 5]
'''
㈡ Python中,如何遍歷dataframe來統計比某一行的值大的行的個數
可以使用條件查詢,設置一組條件。
㈢ Python創建空DataFrame及添加行數據
在pandas中創建一個空DataFrame的方法,類似於創建了一個空字典(dict)。
例如:zhuanempty = pandas.DataFrame({"name":"","age":"","sex":""})
想要向empty中插入一行數據,shu可以用同樣的方法。
(1)首先,要創建一個DataFrame。要注意,在這里需加入index屬性,new = pandas.DataFrame({"name":"","age":"","sex":""},index=["0"])。
(2)然後,開始插值。ignore_index=True,可以幫助忽略index,自動遞增。
empty.append(new,ignore_index=True)
(3)最重要的,賦值給empty.
empty = empty.append(new,ignore_index=True)
否則,數據始終沒有寫入。