Python 向numpy结构化数组添加新记录
这是对numpy阵列早期学习的延续。Python 向numpy结构化数组添加新记录,python,arrays,numpy,adjacency-matrix,recarray,Python,Arrays,Numpy,Adjacency Matrix,Recarray,这是对numpy阵列早期学习的延续。 结构化数组是从列表的元素创建的,然后填充值(下面未显示) 填充的数组如下所示: x y z x 0 1 0 y 1 0 1,5 z 0 1,5 0 1.如何向上面添加新顶点? 2.添加顶点后,将以下数组添加到结构化数组的最干净过程是什么(注意:此数组中并非所有顶点都是新的): 预期产出(请与我一起承担): 看起来像是蟒蛇熊猫的工作 >>> import numpy as
结构化数组是从列表的元素创建的,然后填充值(下面未显示) 填充的数组如下所示:
x y z
x 0 1 0
y 1 0 1,5
z 0 1,5 0
1.如何向上面添加新顶点?2.添加顶点后,将以下数组添加到结构化数组的最干净过程是什么(注意:此数组中并非所有顶点都是新的): 预期产出(请与我一起承担):
看起来像是蟒蛇熊猫的工作
>>> import numpy as np
>>> import pandas as pd
>>> data=np.zeros((4,5))
>>> df=pd.DataFrame(data,columns=['x','y','z','a','b'])
>>> df
x y z a b
0 0 0 0 0 0
1 0 0 0 0 0
2 0 0 0 0 0
3 0 0 0 0 0
>>> df['c']=0 #Add a new column
>>> df
x y z a b c
0 0 0 0 0 0 0
1 0 0 0 0 0 0
2 0 0 0 0 0 0
3 0 0 0 0 0 0
>>> new_data=pd.DataFrame([['0','1,2','0'],['1,2','0','1'],['0','1','0']],columns=['d','e','y'])
>>> new_data
d e y
0 0 1,2 0
1 1,2 0 1
2 0 1 0
>>> df.merge(new_data,how='outer') #Merge data
x y z a b c d e
0 0 0 0 0 0 0 NaN NaN
1 0 0 0 0 0 0 NaN NaN
2 0 0 0 0 0 0 NaN NaN
3 0 0 0 0 0 0 NaN NaN
4 NaN 0 NaN NaN NaN NaN 0 1,2
5 NaN 0 NaN NaN NaN NaN 0 1
6 NaN 1 NaN NaN NaN NaN 1,2 0
有很多方法可以合并您显示的数据,您能更详细地解释一下您希望结束数组是什么样子吗
d e y
d 0 '1,2' 0
e '1,2' 0 '1'
f 0 '1' 0
x y z d e f
x 0 1 0 0 0 0
y 1 0 1,5 0 1 0
z 0 1,5 0 0 0 0
d 0 0 0 0 1,2 0
e 0 1 0 1,2 0 0
f 0 0 0 0 1 0
>>> import numpy as np
>>> import pandas as pd
>>> data=np.zeros((4,5))
>>> df=pd.DataFrame(data,columns=['x','y','z','a','b'])
>>> df
x y z a b
0 0 0 0 0 0
1 0 0 0 0 0
2 0 0 0 0 0
3 0 0 0 0 0
>>> df['c']=0 #Add a new column
>>> df
x y z a b c
0 0 0 0 0 0 0
1 0 0 0 0 0 0
2 0 0 0 0 0 0
3 0 0 0 0 0 0
>>> new_data=pd.DataFrame([['0','1,2','0'],['1,2','0','1'],['0','1','0']],columns=['d','e','y'])
>>> new_data
d e y
0 0 1,2 0
1 1,2 0 1
2 0 1 0
>>> df.merge(new_data,how='outer') #Merge data
x y z a b c d e
0 0 0 0 0 0 0 NaN NaN
1 0 0 0 0 0 0 NaN NaN
2 0 0 0 0 0 0 NaN NaN
3 0 0 0 0 0 0 NaN NaN
4 NaN 0 NaN NaN NaN NaN 0 1,2
5 NaN 0 NaN NaN NaN NaN 0 1
6 NaN 1 NaN NaN NaN NaN 1,2 0