【问题标题】:One on One Mapping of two lists to a pandas dataframe [duplicate]两个列表到熊猫数据框的一对一映射[重复]
【发布时间】:2021-11-19 03:23:11
【问题描述】:

我有两个列表,例如: a = [1,2,3] b = [1,2]

现在,我想像这样在一张地图上进行一对一:

colA colB
1     1
1     2
1     3
2     1
2     2
2     3 

我试过了,但没用

df = pd.DataFrame()

for i in a:
    df["A"] = i
    
    for j in b:
        df["B"] = j

【问题讨论】:

  • 当您执行df['A'] = some_value 时,会将列中的所有值分配给该值。但是,您的数据框是空的,因此“将列中的所有值设置”为给定值会导致设置 0 值。链接副本的The accepted answer 将起作用,只需将该问题中的ab 列表替换为您要使用的列表即可。 df = pd.DataFrame(product(b, a), columns=['colA', 'colB'])

标签: python pandas list dataframe


【解决方案1】:

您可以使用itertools.productpandas.DataFrame 构造函数:

import pandas as pd
from itertools import product

pd.DataFrame(product(b, a), columns=['colA', 'colB'])

输出:

   colA  colB
0     1     1
1     1     2
2     1     3
3     2     1
4     2     2
5     2     3

【讨论】:

    猜你喜欢
    • 2022-01-06
    • 2020-10-04
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 1970-01-01
    • 2022-11-18
    相关资源
    最近更新 更多