Python Pandas 对列/行进行选择,增加,删除操作
一、列操作
1.1选择列
d={'one':pd.Series([1,2,3],index=['a','b','c']), 'two':pd.Series([1,2,3,4],index=['a','b','c','d'])} df=pd.DataFrame(d) print(df['one']) #选择其中一列进行显示,列长度为最长列的长度 #除了index和数据,还会显示列表头名,和数据类型
运行结果:
a 1.0
b 2.0
c 3.0
d NaN
Name:one,dtype:float64
1.2增加列
d={'one':pd.Series([1,2,3],index=['a','b','c']), 'two':pd.Series([1,2,3,4],index=['a','b','c','d'])} df=pd.DataFrame(d) #AddinganewcolumntoanexistingDataFrameobjectwithcolumnlabelbypassingnewseries print("AddinganewcolumnbypassingasSeries:") df['three']=pd.Series([10,30,20],index=['a','c','b']) print(df) #增加列后进行显示,其中index用于对应到该列元素位置(所以位置可以不由列表中的顺序进行指定) print("AddinganewcolumnusingtheexistingcolumnsinDataFrame:") df['four']=df['one']+df['two']+df['three'] print(df) #我们选定列后,直接可以对整个列的元素进行批量运算操作,这里NaN与其他元素相加后,还是NaN
运行结果:
AddinganewcolumnbypassingasSeries:
one two three
a 1.0 1 10.0
b 2.0 2 20.0
c 3.0 3 30.0
d NaN 4 NaN
AddinganewcolumnusingtheexistingcolumnsinDataFrame:
one two three four
a 1.0 1 10.0 12.0
b 2.0 2 20.0 24.0
c 3.0 3 30.0 36.0
d NaN 4 NaN NaN
1.3删除列(del和pop函数)
d={'one':pd.Series([1,2,3],index=['a','b','c']), 'two':pd.Series([1,2,3,4],index=['a','b','c','d']), 'three':pd.Series([10,20,30],index=['a','b','c'])} df=pd.DataFrame(d) print("Ourdataframeis:") print(df) #使用del函数 print("DeletingthefirstcolumnusingDELfunction:") del(df['one']) print(df) #使用pop函数 print("DeletinganothercolumnusingPOPfunction:") df_2=df.pop('two')#将一列pop到新的dataframe print(df_2) print(df)
运行结果:
Ourdataframeis:
one two three
a 1.0 1 10.0
b 2.0 2 20.0
c 3.0 3 30.0
d NaN 4 NaN
DeletingthefirstcolumnusingDELfunction:
two three
a 1 10.0
b 2 20.0
c 3 30.0
d 4 NaN
DeletinganothercolumnusingPOPfunction:
three
a 10.0
b 20.0
c 30.0
d NaN
POPcolumn:
a 1
b 2
c 3
d 4
Name:two,dtype:int64
二、行操作
2.1选择行
2.1.1通过label选择行(loc函数)
d={'one':pd.Series([1,2,3],index=['a','b','c']), 'two':pd.Series([1,2,3,4],index=['a','b','c','d'])} df=pd.DataFrame(d) print(df.loc['b'])#显示这一行中,对应表头下的对应数据,同时显示行index和数据类型
运行结果:
one 2.0
two 2.0
Name:b,dtype:float64
2.1.2通过序号选择行(iloc函数)
d={'one':pd.Series([1,2,3],index=['a','b','c']), 'two':pd.Series([1,2,3,4],index=['a','b','c','d'])} df=pd.DataFrame(d) print(df.iloc[2])#序号2对应的是第3行的数据
运行结果:
one 3.0
two 3.0
Name:c,dtype:float64
2.1.3通过序号选择行切片
d={'one':pd.Series([1,2,3],index=['a','b','c']), 'two':pd.Series([1,2,3,4],index=['a','b','c','d'])} df=pd.DataFrame(d) print(df[2:4])#这里选择第3到第4行,与Python切片一致,不需要函数,直接切片即可
运行结果:
one two
c 3.0 3
d NaN 4
2.2增加行(append函数)
#通过append函数 df=pd.DataFrame([[1,2],[3,4]],columns=['a','b']) df2=pd.DataFrame([[5,6],[7,8]],columns=['a','b']) df=df.append(df2) print(df)#这里相当于把第二个dataframe与第一个进行拼接,默认的index都是01 print(df.loc[0])#这里有两行的index是0
运行结果:
a b
0 1 2
1 3 4
0 5 6
1 7 8
a b
0 1 2
0 5 6
2.3删除行(drop函数)
#通过drop函数 df=pd.DataFrame([[1,2],[3,4]],columns=['a','b']) df2=pd.DataFrame([[5,6],[7,8]],columns=['a','b']) df=df.append(df2) df=df.drop(0)#这里有两个行标签为0,所以直接删除了2行 print(df)
运行结果:
a b
1 3 4
1 7 8
到此这篇关于PythonPandas对列/行进行选择,增加,删除操作的文章就介绍到这了,更多相关PythonPandas行列选择增加删除内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!