取行燕锥、列和單元格的幾種常用方式:
DataFrame[ 列名 ]: 取單列或多列,不能用連續(xù)方式取悯蝉,也不能用于取行归形。
DataFrame.列名: 只用于取單列,不能用于行鼻由。
DataFrame[ i:j ]: 用起始行下標(biāo)(i)和終止行下標(biāo)(j)取單行或者連續(xù)多行暇榴,不能用于列的選取。
DataFrame.loc[行名,列名]: 用對象的.loc[]方法實現(xiàn)各種取數(shù)據(jù)方式蕉世。
DataFrame.iloc[行下標(biāo),列下標(biāo)]: 用對象的.iloc[]方法實現(xiàn)各種取數(shù)據(jù)方式蔼紧。
DataFrame[criteria]:criteria數(shù)據(jù)篩選規(guī)則
DataFrame.at[行,列]:獲取第0行,第a列的值狠轻,即:index=0奸例,columns='a'
import pandas as pd
#excel 行、列向楼、單元格
#在pandas中哩至,excel行和列都認(rèn)識是Series
print("*"*20+"構(gòu)建excel數(shù)據(jù)"+"*"*20)
s1 = pd.Series([10,20,30],name="A",index=[1,2,3])
s2 = pd.Series([100,200,300],name="B",index=[1,2,3])
s3 = pd.Series([1000,2000,3000],name="C",index=[1,2,3])
# 以字典dict形式傳參,DataFrame把Series當(dāng)成列處理
df = pd.DataFrame({s1.name:s1,s2.name:s2,s3.name:s3})
# 以列表list形式傳參蜜自,DataFrame把Series當(dāng)成行處理
df1= pd.DataFrame([s1,s2,s3])
print(df)
print(df1)
print("*"*20+"構(gòu)建excel數(shù)據(jù)"+"*"*20)
print("*"*20+"讀取df行數(shù)據(jù)"+"*"*20)
print(df[1:2])
print("*"*20+"讀取df行數(shù)據(jù)"+"*"*20)
print("*"*20+"讀取df列數(shù)據(jù)"+"*"*20)
print(df["A"])
print("*"*20+"讀取df列數(shù)據(jù)"+"*"*20)
print("*"*20+"讀取A列等于10的數(shù)據(jù)"+"*"*20)
# 表格篩選df[criteria]
criteria =df["A"]==10
print(df[criteria].head())
print("*"*20+"讀取A列等于10的數(shù)據(jù)"+"*"*20)
print("*"*20+"讀寫單元格的數(shù)據(jù)"+"*"*20)
print("*"*10+"讀寫單元格的方法一"+"*"*10)
# 1菩貌、讀取series數(shù)據(jù),然后at
print(df["A"].at[1])
print("*"*10+"讀寫單元格的方法一"+"*"*10)
print("*"*10+"讀寫單元格的方法二"+"*"*10)
# 2重荠、at直接讀取DataFrame數(shù)據(jù)
df.at[1,"A"]=0
data = df.at[1,"A"]
print(data)
print("*"*10+"讀寫單元格的方法二"+"*"*10)
print("*"*20+"讀寫單元格的數(shù)據(jù)"+"*"*20)
輸出結(jié)果:
********************構(gòu)建excel數(shù)據(jù)********************
A B C
1 10 100 1000
2 20 200 2000
3 30 300 3000
1 2 3
A 10 20 30
B 100 200 300
C 1000 2000 3000
********************構(gòu)建excel數(shù)據(jù)********************
********************讀取df行數(shù)據(jù)********************
A B C
2 20 200 2000
********************讀取df行數(shù)據(jù)********************
********************讀取df列數(shù)據(jù)********************
1 10
2 20
3 30
Name: A, dtype: int64
********************讀取df列數(shù)據(jù)********************
********************讀取A列等于10的數(shù)據(jù)********************
A B C
1 10 100 1000
********************讀取A列等于10的數(shù)據(jù)********************
********************讀寫單元格的數(shù)據(jù)********************
**********讀寫單元格的方法一**********
10
**********讀寫單元格的方法一**********
**********讀寫單元格的方法二**********
0
**********讀寫單元格的方法二**********
********************讀寫單元格的數(shù)據(jù)********************