Python 熊猫,如何制作矩阵
我有一个关于熊猫的问题,如果有人能帮助我,我将非常感激 我有一个数据帧Python 熊猫,如何制作矩阵,python,pandas,matrix,Python,Pandas,Matrix,我有一个关于熊猫的问题,如果有人能帮助我,我将非常感激 我有一个数据帧 df1 = pd.DataFrame( {'Name': ['A', 'B','A','A']}) df1 df2 = pd.DataFrame( {'Name2': ['Jon',Maria','Maria','Mike','Mike','Mike']}) df2 我想为这个做群比 x=df1.groupby("Name").size() x 我还有另一个数据帧 df1 = pd.DataFrame( {'Name'
df1 = pd.DataFrame( {'Name': ['A', 'B','A','A']})
df1
df2 = pd.DataFrame( {'Name2': ['Jon',Maria','Maria','Mike','Mike','Mike']})
df2
我想为这个做群比
x=df1.groupby("Name").size()
x
我还有另一个数据帧
df1 = pd.DataFrame( {'Name': ['A', 'B','A','A']})
df1
df2 = pd.DataFrame( {'Name2': ['Jon',Maria','Maria','Mike','Mike','Mike']})
df2
对于这一个,我也做groupby。
y=df2.groupbyName2.size
然后我想做一个矩阵,它的列是x,行是y,我想把这些值相乘。
我想要这样的矩阵
Jon Maria Mike
A 3 6 9
B 1 2 3
如果您能告诉我如何操作,我将不胜感激。您可以执行dot产品:
In [35]: (pd.DataFrame(y[:,None].dot(x[:,None].T).T, columns=y.index, index=x.index)
.rename_axis(None)
.rename_axis(None,1))
Out[35]:
Jon Maria Mike
A 3 6 9
B 1 2 3
x.to_frame().dot(y.to_frame().T)
Name2 Jon Maria Mike
Name
A 3 6 9
B 1 2 3
如果要删除轴标签,请使用“重命名轴”:
或者,指定适当的:
v = x.to_frame().dot(y.to_frame().T)
v.index.name = v.columns.name = None
v
Jon Maria Mike
A 3 6 9
B 1 2 3
您可以执行点积:
x.to_frame().dot(y.to_frame().T)
Name2 Jon Maria Mike
Name
A 3 6 9
B 1 2 3
如果要删除轴标签,请使用“重命名轴”:
或者,指定适当的:
v = x.to_frame().dot(y.to_frame().T)
v.index.name = v.columns.name = None
v
Jon Maria Mike
A 3 6 9
B 1 2 3
或者我们可以使用np.multiply.outer
或者我们可以使用np.multiply.outer
@马克斯啊,来吧!我们有同样的想法:非常感谢!你们真是太棒了@汤姆·汉克斯如果能解决你的问题,别忘了接受答案,谢谢。@MaxU-Aww,来吧!我们有同样的想法:非常感谢!你们真是太棒了@Tom_Hanks如果能解决您的问题,请不要忘记接受答案,谢谢。这应该稍微好一点:pd.DataFramenp.outerx,y,index=x.index,columns=y。index@cᴏʟᴅsᴘᴇᴇᴅ 是的:-PS:你的是最好的:-这应该稍微好一点:pd.DataFramenp.outerx,y,index=x.index,columns=y。index@cᴏʟᴅsᴘᴇᴇᴅ 是的:-附言:你是最好的:-