python - Pandas ,如何制作矩阵

标签 python pandas matrix

我有一个关于 Pandas 的问题,如果有人能帮助我,我将不胜感激。

我有一个数据框

df1 = pd.DataFrame( {'Name': ['A', 'B','A','A']})
df1

我想为此做groupby。

x=df1.groupby("Name").size()
x

我还有另一个数据框

df2 = pd.DataFrame( {'Name2': ['Jon',Maria','Maria','Mike','Mike','Mike']})
df2

对于这个,我也做 groupby。 y= df2.groupby("Name2").size()

然后我想制作列为 x 行为 y 的矩阵,并希望将这些值相乘。 我想要这样的矩阵。

     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

如果要删除轴标签,请使用 rename_axis:

x.to_frame().dot(y.to_frame().T)\
      .rename_axis(None).rename_axis(None, 1)

   Jon  Maria  Mike
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

关于python - Pandas ,如何制作矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47464482/

相关文章:

Python - 使用 Excel - 每次输入数据一次 9 个单元格

python - 尝试设置对象属性时“str”对象不可调用

社交网络的 Java 框架

python - 获取不带 "NaN"的列数

python - 如何找到当前函数的名称?

python - 从 Pandas 中的相关矩阵返回最高和最低相关

python - 访问 python 子列表以导入 pandas DataFrame

matlab - 通过给定的真值行索引生成逻辑矩阵的最快方法?

excel - 使用 Excel 计算协方差矩阵

python - 如何有效地计算numpy中两个系列矩阵的外积?