赞
踩
首先构建一个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)
构建的dataframe为:
one two three
a 1 4 7
b 2 5 8
c 3 6 9
df['four']=[10,11,12]
print(df)
结果为:
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)
结果为:
one two three four
a 1 4 7 13
b 2 5 8 14
c 3 6 9 15
df.loc['d']=[2,4,6,8]
print(df)
结果为:
one two three four
a 1 4 7 13
b 2 5 8 14
c 3 6 9 15
d 2 4 6 8
df=df.drop(columns='four')#或者写为:df.drop(columns='four',inplace=True)
#或者del df['four']
print(df)
结果为:
one two three
a 1 4 7
b 2 5 8
c 3 6 9
d 2 4 6
df.drop(index='d',inplace=True)
print(df)
结果为:
one two three
a 1 4 7
b 2 5 8
c 3 6 9
df.insert(0,'zero',[10,11,12])
#df.insert(添加列位置索引序号,添加列名,数值)
print(df)
结果为:
zero one two three
a 10 1 4 7
b 11 2 5 8
c 12 3 6 9
在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)
结果为:
zero one two three
a 10 1 4 7
line 2 4 6 8
b 11 2 5 8
c 12 3 6 9
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。