dataframe数组做元素_pd.DataFrame的基本操作1. 转置
.T.T⽅法
import pandas as pd
lst=[["转","置"],
["转","置"],
["转","置"]]
df=pd.DataFrame(lst,["⾏0","⾏1","⾏2"],["列0","列1"])
print(df)
print(df.T)
2. 查看DataFrame头部数据, 尾部数据
.head()⽅法, 查看Series头部(前⼏个)数据.
.head()⽅法
.tail()⽅法, 查看Series尾部(后⼏个)数据.
.tail()⽅法
isnull的用法import pandas as pd
arr=np.arange(21).reshape(7,3)
df=pd.DataFrame(arr)
print(df)
print(df.head(1)) # 查看第1个数据
print(df.tail()) # 默认查看5条
3. DataFrame数据索引 [超级重要]
3.0 查看索引
.index⽅法, 查看⾏标签.
.columns⽅法, 查看列标签. .index
.columns
import pandas as pd
lst=[[1,2,3],
[4,5,6],
[7,8,9]]
idx=["idx0","idx1","idx2"]
clm=["clm0","clm1","clm2"]
df=pd.DataFrame(lst,index=idx,columns=clm)
print(df)
lumns) # 查看列标签
print(df.index) # 查看⾏标签
3.1 标签索引
df[列标签]
按标签, 索引列, df[列标签]
import pandas as pd
lst=[[1,2,3],
[4,5,6],
[7,8,9]]
idx=["idx0","idx1","idx2"]
clm=["clm0","clm1","clm2"]
df=pd.DataFrame(lst,index=idx,columns=clm)
print(df)
print(df["clm0"]) # 索引"clm0"列,得到Series
print(df[["clm0"]]) # 索引"clm0"列,得到DataFrame
print(df[["clm0","clm2"]]) # 索引"clm0"和"clm2"列, 得到DataFrame
# 按属性,索引列
import pandas as pd
lst=[[1,2,3],
[4,5,6],
[7,8,9]]
idx=["idx0","idx1","idx2"]
clm=["clm0","clm1","clm2"]
df=pd.DataFrame(lst,index=idx,columns=clm)
print(df.clm0)
df.loc[⾏标签]
按标签, 索引⾏, df.loc[⾏标签]
lst=[[1,2,3],
[4,5,6],
[7,8,9]]
idx=["idx0","idx1","idx2"]
clm=["clm0","clm1","clm2"]
df=pd.DataFrame(lst,index=idx,columns=clm)
print(df)
print(df.loc["idx0"]) # 索引"idx0"⾏,得到Series
print(df.loc[["idx0"]]) # 索引"idx0"⾏,得到DataFrame
print(df.loc[["idx0","idx2"]]) # 索引"idx0"和"idx2"⾏, 得到DataFrame
df.loc[⾏标签, 列标签]
按标签, 索引⾏和列, df.loc[⾏标签, 列标签]
import pandas as pd
lst=[[1,2,3],
[4,5,6],
[7,8,9]]
idx=["idx0","idx1","idx2"]
clm=["clm0","clm1","clm2"]
df=pd.DataFrame(lst,index=idx,columns=clm)
print(df)
# 索引"idx0"和"idx2"⾏,"clm0","clm1"和"clm2"列得到DataFrame print(df.loc[["idx0","idx2"],["clm0","clm1","clm2"]])
3.2 下标索引
df.iloc[⾏标签]
按下标, 索引⾏, df.iloc[⾏标签]
位置下标从0开始. 第⼀个元素下标索引为0
import pandas as pd
lst=[[1,2,3],
[4,5,6],
[7,8,9]]
idx=["idx0","idx1","idx2"]
clm=["clm0","clm1","clm2"]
df=pd.DataFrame(lst,index=idx,columns=clm)
print(df)
print(df.iloc[1]) # 索引下标为1的⾏,得到Series
print(df.iloc[[0,2]]) # 索引下标为0和2的⾏, 得到DataFrame
df.iloc[⾏标签, 列标签]
按下标, 索引⾏和列, df.iloc[⾏标签, 列标签]
import pandas as pd
lst=[[1,2,3],
[4,5,6],
[7,8,9]]
idx=["idx0","idx1","idx2"]
clm=["clm0","clm1","clm2"]
df=pd.DataFrame(lst,index=idx,columns=clm)
print(df)
# 索引下标为0和2⾏,0,1和2列得到DataFrame
print(df.iloc[[0,2],[0,1,2]])
3.3 切⽚索引
按位置下标进⾏切⽚索引时, 末端不包含
切⽚索引都是先索引⾏
df[:] 切⽚索引⾏
import pandas as pd
lst=[[1,1,1,1],
[2,2,2,2],
[3,3,3,3],
[4,4,4,4]]
idx=["idx0","idx1","idx2","idx3"]
clm=["clm0","clm1","clm2","clm3"]
df=pd.DataFrame(lst,index=idx,columns=clm)
print(df)
print(df["idx1":"idx3"]) # 索引标签"idx1"和"idx3"及其之间的⾏,末端包含print(df[1:3]) # 索引下标为1和3及其之间的⾏,末端不包含
print(df[:1]) #索引下标为0的⾏, 结果只有⼀⾏,但仍是DataFrame
df.loc[:] 切⽚索引⾏
import pandas as pd
lst=[[1,1,1,1],
[2,2,2,2],
[3,3,3,3],
[4,4,4,4]]
idx=["idx0","idx1","idx2","idx3"]
clm=["clm0","clm1","clm2","clm3"]
df=pd.DataFrame(lst,index=idx,columns=clm)
print(df)
print(df.loc["idx1":"idx3"]) # 索引标签"idx1"和"idx3"及其之间的⾏,末端包含
df.iloc[:] 切⽚索引⾏
import pandas as pd
lst=[[1,1,1,1],
[2,2,2,2],
[3,3,3,3],
[4,4,4,4]]
idx=["idx0","idx1","idx2","idx3"]
clm=["clm0","clm1","clm2","clm3"]
df=pd.DataFrame(lst,index=idx,columns=clm)
print(df)
print(df.iloc[1:3]) # 索引下标为1和3及其之间的⾏,末端不包含
3.4 多重索引
结合3.1, 3.2, 3.3中的⽅法进⾏搭配索引即可
先索引列, 后索引⾏
先索引列, 后索引⾏. 举例
import pandas as pd
lst=[[1,2,3],
[4,5,6],
[7,8,9]]
idx=["idx0","idx1","idx2"]
clm=["clm0","clm1","clm2"]
df=pd.DataFrame(lst,index=idx,columns=clm)
print(df)
# clm1和clm2列, idx1和idx2⾏
print(df[["clm0","clm2"]].loc[["idx1","idx2"]])
先索引⾏, 后索引列. 举例
先索引⾏, 后索引列
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论