python - 结合两个 Pandas Dataframes Python 的最佳方法
问题描述
我有两个要组合的数据框(目前):
head_site_df = pd.DataFrame(head_sitetupaggr_list, columns =['Die Loc', 'X Coord', 'Y Coord'])
regvalfile_df = pd.DataFrame(regvaltupaggr_list)
regvalfile_df 包含 800 多个动态生成的列。所以我无法列出这些列。为什么我现在说是因为情况有点复杂。我需要生成一个看起来像这样的 excel 表:
此数据来自日志文件。在 K 列之后,您可以有 800 列或更多列,这些列带有整数值的标题。这些是 regvalfile_df 中包含的列。另一个 DF 捕获列“Die Loc”和“X Coord”、“Y Coord”。我打算修改我的代码,以便最终能够让第二个 DF 也捕获 A 到 K 列。所以总的来说,我将有两个 DF。一个具有 A 到 K,另一个具有 L 及以上。
我的问题是,为了结合这两个单独的 DF 来获得 excel 表,最好的方法是什么。Cocatenate()、Merge)()、Join() 还是 Append()?什么是速度和内存消耗最有效的方法。我会结合两个熊猫DF。除非以某种方式让一个 DF 捕获所有内容会更有效。我看不出它会如何工作,因为 L 开始有“动态”数量的标题,每个文件都会改变。
到目前为止的代码示例。请注意代码有效。我刚刚取出了一个包含我迄今为止使用的数据结构的大块:
for odfslogp_obj in odfslogs_plist:
with zipfile.ZipFile(odfslogp_obj, mode='r') as z:
for name in z.namelist():
dfregval = pd.DataFrame()
with z.open(name) as etest_zip:
for head_site, loclist in zip(head_siteparam_tup_list, linesineed): #is there a way to turn this all into a function inside a list comprehension?
regvals_ext = [x for x in loclist if pattern.search(x)]
#print(regvals_ext)
regvaltups_list = [tuple(x.split(":")[0:2]) for x in regvals_ext]
regvaldict = dict(regvaltups_list)
regvaltupaggr_list.append(regvaldict)
head_siteloc_tup = (head_site[1], head_site[0].split(',')[0], head_site[0].split(',')[1])
# print(head_siteloc_tup)
head_sitetupaggr_list.append(head_siteloc_tup)
#print(head_sitetupaggr_list)
head_site_df = pd.DataFrame(head_sitetupaggr_list, columns =['Die Loc', 'X Coord', 'Y Coord'])
regvalfile_df = pd.DataFrame(regvaltupaggr_list)
解决方案
推荐阅读
- javascript - 在 Typescript 原始函数中访问“this”
- python - 当用户导入已弃用的变量时引发自定义 ImportError
- android - 无法从嵌套静态类访问复选框对象
- sql - 在 Oracle 中删除对象后权限丢失
- sql-server - LOG_BACKUP 文件已满时无法备份数据库
- python - 没有名为错误的模块,但 pip freeze 显示模块已安装在 virtualenv 中
- java - Java 8 按键组映射
- linux - 为另一台服务器编译 gawk 可执行文件
- java - Visual GC 无法看到本地主要方法的直方图
- java - android - 如何从文件中检索 MPAndroidChart ArrayList