Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫,如何制作矩阵_Python_Pandas_Matrix - Fatal编程技术网

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ᴘᴇᴇᴅ 是的:-附言:你是最好的:-