【问题标题】:zip list elements in different dataframe columns不同数据框列中的 zip 列表元素
【发布时间】:2019-11-04 23:09:45
【问题描述】:
a=[['1','2'],['3','4']]
b=[['5','6'],['7','8']]
df14=pd.DataFrame({'key':a,'hi':b})

我想添加一个带有元组的第三列,其中'key'中的每个列表元素都与其在'hi'中的列表索引匹配 -> 例如它看起来像这样。

       key    hi      tup
0   [1, 2]  [5, 6]  [(1,5),(2,6)]
1   [3, 4]  [7, 8]  [(3,7),(4,8)]

我知道我必须使用zip 函数,但我无法正确使用你的语法。 我觉得应该是这样的

for index,row in df14.iterrows():
   df14['tup']=df14.key.apply(lambda x: zip(x,df14.hi))

但这是错误的

【问题讨论】:

    标签: python pandas list zip tuples


    【解决方案1】:

    这里iterrows 不是必需的,第二行由axis=1 修改为每行应用lambda 函数,并将d14.hi 更改为x.hi 用于hi 列的每行返回值:

    df14['tup'] = df14.apply(lambda x: list(zip(x.key,x.hi)), axis=1)
    print (df14)
          key      hi               tup
    0  [1, 2]  [5, 6]  [(1, 5), (2, 6)]
    1  [3, 4]  [7, 8]  [(3, 7), (4, 8)]
    

    【讨论】:

      猜你喜欢
      • 2020-04-28
      • 2018-02-23
      • 2019-03-14
      • 1970-01-01
      • 2022-08-04
      • 2017-02-06
      • 2023-02-18
      • 2020-05-22
      • 2016-10-14
      相关资源
      最近更新 更多