当前位置:   article > 正文

python pandas 在dataframe中增加或删除行或列

python pandas 在dataframe中增加或删除行或列

dataframe中增加或删除行或列

首先构建一个dataframe

import pandas as pd
d={'one':{'a':1,'b':2,'c':3},'two':{'a':4,'b':5,'c':6},'three':{'a':7,'b':8,'c':9}}
df=pd.DataFrame(d)
print(df)
  • 1
  • 2
  • 3
  • 4

构建的dataframe为:

one two three
a 1 4 7
b 2 5 8
c 3 6 9

在dataframe中增加一列

df['four']=[10,11,12]
print(df)
  • 1
  • 2

结果为:

one two three four
a 1 4 7 10
b 2 5 8 11
c 3 6 9 12

把第四列内容更改:

df['four']=[13,14,15]
print(df)
  • 1
  • 2

结果为:

one two three four
a 1 4 7 13
b 2 5 8 14
c 3 6 9 15

在dataframe中增加一行

df.loc['d']=[2,4,6,8]
print(df)
  • 1
  • 2

结果为:

one two three four
a 1 4 7 13
b 2 5 8 14
c 3 6 9 15
d 2 4 6 8

在dataframe中删除特定的列

df=df.drop(columns='four')#或者写为:df.drop(columns='four',inplace=True)
#或者del df['four']
print(df)
  • 1
  • 2
  • 3

结果为:

one two three
a 1 4 7
b 2 5 8
c 3 6 9
d 2 4 6

在dataframe中删除特定的行

df.drop(index='d',inplace=True)
print(df)
  • 1
  • 2

结果为:

one two three
a 1 4 7
b 2 5 8
c 3 6 9

在dataframe中插入特定的列

df.insert(0,'zero',[10,11,12])
#df.insert(添加列位置索引序号,添加列名,数值)
print(df)
  • 1
  • 2
  • 3

结果为:

zero one two three
a 10 1 4 7
b 11 2 5 8
c 12 3 6 9

在dataframe中插入特定的行

在dataframe中特定的位置插入一行是没有什么好的方法的。不过倒是可以通过别的方法间接得到:
首先加入想要加入的行,然后增加一列,设计好该列中每一行应该对应的值,然后按照该列对所有的行进行排序,排序之后,再把该列删掉即可。
例如我要在第一行,第二行之间插入一行,行名为“line”,值为[2,4,6,8]。可以这么做:

df.loc['line']=[2,4,6,8]
df['change']=[1,3,4,2]
df=df.sort_values(by='change')
df.drop(columns='change',inplace=True)
print(df)
  • 1
  • 2
  • 3
  • 4
  • 5

结果为:

zero one two three
a 10 1 4 7
line 2 4 6 8
b 11 2 5 8
c 12 3 6 9

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/635065
推荐阅读
相关标签
  

闽ICP备14008679号