繁体   English   中英

创建一个新的 pandas 列,它是列表的列表

Create a new pandas column that is a list of lists

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有两个看起来像这样的表:

data = [['tom', [3,5]], ['nick', [3,8]], ['juli', [3]]] 
dfA = pd.DataFrame(data, columns = ['Name', 'job_id'])


data1 = [['coder', 3], ['cook', 5], ['cop', 8]]
df_B = pd.DataFrame(data1, columns = ['job', 'job_id']) 

我想在第一个表中添加一列,使其看起来像这样:

data_comb = [['tom', ['coder','cook']], ['nick', ['coder','cop']], ['juli', ['coder']]] 
df_comb = pd.DataFrame(data_comb, columns = ['Name', 'jobs_done'])

由于列中的列表,我收到了一个不可散列的列表错误。 关于如何解决这个问题的指针将不胜感激。

2 个回复

您可以使用字典 map 列表:

lookup = {key : value for value, key in data1}
dfA['job_id'] = dfA.job_id.apply(lambda x : [lookup[v] for v in x])
print(dfA)

Output

   Name         job_id
0   tom  [coder, cook]
1  nick   [coder, cop]
2  juli        [coder]
mapper = df_B.set_index('job_id').to_dict()['job']
dfA['job_id'] = dfA['job_id'].apply(lambda lst: [mapper.get(x) for x in lst])

output:

>>>dfA

    Name    job_id
0   tom     ['coder', 'cook']
1   nick    ['coder', 'cop']
2   juli    ['coder']
2 从列表列创建一个新的 Pandas dataframe

我在 Pandas dataframe (length=32000) 中有一个列,其中每行包含正好 1,200 个项目的列表。 我将如何转换此列并拆分列表以创建形状为 32000x1200 的新 DataFrame? 我尝试创建一个新的 dataframe ( X = pd.DataFrame(d ...

5 使用pandas创建一个包含DataFrame中列表的新列

给定以下DataFrame : 我想创建一个新列,其中wach条目是一个列表,它是它所在行的函数。特别是它应该有一个列表,其中所有正整数不大于列t的条目。 所以输出应该是: 换句话说,我想将list(range(1,t+1))应用于每一行。 我知道如何在循环中执行它,但有一个 ...

7 在列表列表中创建一个新的空列表

我试图用这段代码做的是它让用户在列表中的 2 个项目之间进行选择,并且所选项目被带到列表列表中的新列表中。 我只是想知道我的新列表创建的实现是否正确。 我在程序中有另一个不相关的错误,所以我无法测试实现是否有效。 ...

2020-04-23 19:12:58 3 88   java/ list
8 将列表列表添加到 pandas dataframe,其中列表的每个项目都是一个新列

我有 10 个列表(可变长度)看起来像这样,但每个内部列表的长度相同。 我还有一个包含 10 个数据框的列表,其中每个 df 如下所示: 我想做的是将此列表添加到每个 dataframe 中,结果如下所示: 我知道如何将 append 单个列表添加到现有的 dataframe (并且它有效),但我想 ...

10 Pandas列表列,通过迭代(选择)三列的每个列表元素作为新列和行来创建多列[重复]

这个问题在这里已经有了答案: 在 pandas DataFrame 中取消嵌套(分解)多个列表列的有效方法(5 个答案) 7 个月前关闭。 我有一个包含五列的 dataframe,其中三列包含多个值的列表,它们是(“Long”,“Lat”,Time_stamp”)。请注意,所有(“Long”, ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM