python - 使用应用方法(熊猫)从数据框中的一列和一行填充矩阵
问题描述
所以我创建了一个使用两个变量的函数,但我想在数据帧上使用一种方法,因此该函数将使用行和列中的每个值来创建一个新表。所以输出看起来像这样。顺便说一句,我对 python 很陌生。我已经搜索过,但我没有找到任何东西。
Input:
a b c d e f g
a
b
c
d
e
输出
a b c d e f g
a aa ab ac ad ae af ag
b ba bb bc bd be bf bg
c ca cb cc cd ce cf cg
d da db dc dd de df dg
e ea eb ec ed ee ef eg
块引用
解决方案
假设您从行和列的列表开始,它们都包含字符串,而且只包含字符串:
from itertools import product
import numpy as np
import pandas as pd
columns = list("abcdefg")
rows = list("abcde")
获取列表的笛卡尔积,连接每对中的项目,并将列表转换为 NumPy 数组:
products = np.array([''.join(x) for x in product(rows, columns)])
将列表重塑为矩形表格,添加行和列标题:
pd.DataFrame(products.reshape(-1, len(columns)), index=rows, columns=columns)
# a b c d e f g
#a aa ab ac ad ae af ag
#b ba bb bc bd be bf bg
#c ca cb cc cd ce cf cg
#d da db dc dd de df dg
#e ea eb ec ed ee ef eg
推荐阅读
- dynamics-365 - 在更新 Dynamics CRM 365 Online 实体之前是否必须检索
- wordpress - Woocommerce 电子邮件变量未转换
- java - 在 Java 中反转嵌套的 TreeMap
- php - Laravel orderBy datetime 和时区
- bash - /bin/sh:在 Docker 容器中找不到 my_custom 命令
- c++ - 在容器排列中使用 C++ 适配器和库函数对象
- javascript - url-loader configuration in webpack is loading the images from different path in React JS project
- laravel-5.6 - 无法覆盖模型 laravel 5.6 中的引导方法
- json - Angular 4 在 HTML 页面中使用 ndFor 和 Ngif 显示 Json 数组值
- angular - Angular5 - 测试一个调用内部http服务的函数