python - 如何从另一个数据帧添加数据帧矩阵中的值?

标签 python dataframe matrix

我正在处理一个数据集。我有一个数据集,其中有三列公司 SIC 代码,第二列也是公司 SIC 代码,第三列是两个 SIC 代码之间的关系得分。

第一个数据框

SIC SIC.1 value

10    10    0

10    12    15

10    15    17.9

第二个数据帧是空数据帧,索引和列中带有 SIC 代码

   10  12   13

10
12
13

所以我必须使用第一个数据帧中的值列在第二个数据帧中写入一个值?

代码是

for k in df20.index:
    for i in df21.index:
        for j in df21.columns:
            a = int(i)
            b = int(j)
            if df20["SIC"][k] == a & df20["SIC.1"][k] == b:
                m = df20["value"][k]
                df21[i][j] = m
            else:
                continue

请看一下,我不知道我错在哪里。

最佳答案

import pandas as pd

df20 = pd.DataFrame([
    [10, 10, 0],
    [10, 12, 15],
    [10, 15, 17.9],
], columns=['SIC', 'SIC.1', 'value'])

df21 = pd.DataFrame(
    index=[10, 12, 13], columns=[10, 12, 13]
)

for i, row in df20.iterrows():
    for SIC in df21.index:
        for SIC1 in df21.columns:
            if row['SIC'] == SIC and row['SIC.1'] == SIC1:
                df21.loc[SIC, SIC1] = row['value']
print(df21)

关于python - 如何从另一个数据帧添加数据帧矩阵中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71891808/

相关文章:

python - 使用元组/列表作为数组索引 (Python)

python - residplot seaborn 中的参数应该是什么

python - 使用正则表达式模式从文本中提取每个片段

python - 如何将文件读入多个列表

python - 将数据帧类型转换为 Python 类型或只是序列化的一种方式

python - Pandas 在我的数据中按第一天重新采样

python - 使用 Pandas 计算数据框中列的总和

javascript - 从 ES6 生成器创建多维数组

python - 使用就地排序列表初始化 numpy 数组

java - 读取带有数字的txt文件并将其保存在字符串矩阵中