繁体   English   中英

Python-合并数据框名称包含在列表中

Python - Merge dataframe name contains in list

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

我有2个数据框(现在我说2个,但我们可以有n个数据框)。 数据框的名称在列表中。 我想加入名称出现在列表中的所有数据框

import pandas as pd
data1 = [['Alex',10],['Bob',12],['Clarke',13]]
df1 = pd.DataFrame(data1,columns=['Name','Age'])

data2 = [['David',10],['Alain',12],['Rob',13]]
df2 = pd.DataFrame(data2,columns=['Name','Age'])

list = ['df1','df2']                   

# i want something to work like

df3 = pd.Concat(list)

感谢您的帮助。

3 个回复

您需要将名称设置为索引,然后执行concat

list = [df1,df2] 

pd.concat([x.set_index('Name') for x in list],axis=1)
Out[270]: 
         Age   Age
Alain    NaN  12.0
Alex    10.0   NaN
Bob     12.0   NaN
Clarke  13.0   NaN
David    NaN  10.0
Rob      NaN  13.0

或使用reduce + merge

from functools import reduce
df = reduce(lambda  left,right: pd.merge(left,right,on=['Name'],
                                            how='outer'), list)
df
Out[275]: 
     Name  Age_x  Age_y
0    Alex   10.0    NaN
1     Bob   12.0    NaN
2  Clarke   13.0    NaN
3   David    NaN   10.0
4   Alain    NaN   12.0
5     Rob    NaN   13.0

如果要合并结果,请使用:

pd.concat([df1, df2], ignore_index=True)

#     Name  Age
#0    Alex   10
#1     Bob   12
#2  Clarke   13
#3   David   10
#4   Alain   12
#5     Rob   13

不要将变量名用作list 遍历列表以获取数据帧的实例,然后进行串联

lis = ['df1','df2']                   

df3 = pd.concat([globals()[i] for i in lis]) # to get instance of df1 from string 'df1'
df3

产量

Name    Age
Alex    10
Bob     12
Clarke  13
David   10
Alain   12
Rob     13
1 Python - 如果名称包含在任何行中,则保留组的所有行

我有一份包含发票 ID 和审批人的报告。 发票可以有多个审批人,这会导致 ID 重复(这很好)。 我想要做的是检查每组发票 ID,以查看 2 个批准者中的任何一个是否在与该 ID 关联的批准者列表中。 如果是,那么我想保留该 ID 的所有行。 我认为我的问题与这个问题类似: 如果没有任何行符合特定条 ...

2 访问包含在列表中的公共元素数据框

我有以下数据集: 我的问题: 该列表总共包含 59 个数据框。 我想创建一个数据框,该数据框从有关level和time但不是location的列表信息中的所有数据框组合而成。 这个新创建的数据框还应该包含有关id 的信息。 它应该是这样的: 我试过的: 先感谢您! ...

2020-06-05 14:46:53 2 25   r
3 python - 检查列表条目是否包含在字符串中

我有一个脚本,我正在浏览传递(通过csv文件)路径列表。 我想知道如何确定我当前使用的路径是否先前已被管理(作为父项的子目录)。 我保留了这样的托管路径列表: 因此当/如果下一个路径是'/e/a' ,我想检查列表中路径pathsManaged列表中是否存在此路径的父路径。 ...

5 Python - 下载包含在 JQueryFileTree 中的 PDF

我正在创建一个下载的文件,用于从与我雇主公司相关的网站自动下载 PDF。 看起来 PDF 包含在 JQueryFileTree 中。 有没有办法可以下载下面的文件夹之一并将其与内容 PDF 一起保存到磁盘? 到目前为止,我正在使用 Python 和 selenium 来自动登录等。 谢谢 到目 ...

6 在 R 中,如何使用行名称和列名称创建包含在“矩阵”或“数据框”设置中的图?

我想创建一个 3x3 的图网格,这样每个“单元格”包含两个图。 我希望每个列名都有两个子列名(在本例中为“真”/“假”): 在第 1 行第 1 列单元格(第 1 行,列名称 1)中,并排的两个图对应于 True 条件,一个对应于 False 条件。 一个单元格的例子是 有没有一种简单的方法或 ...

2020-07-12 23:46:23 1 27   r/ plot
7 Python-更改列名称,合并和重新排序数据框

我有两个数据框-DataFrameA和DataFrameB 数据框 数据框 我想要这样的输出DataFrame, 在变量=“ BBBBB”中声明的DataFrame B列的前缀 数据框 我正在数据框架A和数据框架B之间进行内部联接,然后按顺序对列进行排序 ...

8 Python - 拆分列表中包含的数据帧

我正在从 PDF 中提取表格,页面可以有 1 个以上的表格。 我正在使用 Tika 库进行提取。 在这种情况下,输出是包含在列表中的 2 个数据帧(因此是 2 个表) - 请有人分享我如何提取每个数据帧? 对于上下文,每个 df 有 2 列和相同的行数。 例子: 我想在这里提取第一个 df, ...

9 Python-数据框行内列表中的搜索元素

我正在尝试捕获列表格式的数据框/熊猫内部的元素。 如果字符串存在,下面将捕获整个列表,我如何仅按行捕获特定字符串的元素,而忽略其余元素? 这是我尝试过的... 此代码的结果: 但正在寻找: ...

暂无
暂无

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

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