如何使用列名列表从旧数据帧创建新的 Pandas 数据帧

部落

我有一个包含多列的熊猫数据框。可以循环大量列名。所以我制作了一个列名数组,如下所示:

ycols = ['{}_{}d pred'.format(ticker, i) for i in range(hm_days)]

现在我想创建一个新的 Pandas 数据框,其中只有这些列具有父数据框的索引。这该怎么做?

查克

好的,所以您想创建一个具有新列名的新数据帧,以及原始数据帧的现有索引。

对于一些数据框:

old_df = pd.DataFrame({'x':[0,1,2,3],'y':[10,9,8,7]})
>>>
   x   y
0  0  10
1  1   9
2  2   8
3  3   7

columns = list(old_df)
>>>
['x', 'y']

您可以通过执行以下操作来指定新列:

y_cols = ['x_pred','y_pred']
>>> ['x_pred','y_pred']

y_cols是您的新列名称的列表。在您的代码中,您将用ycols = ['{}_{}d pred'.format(ticker, i) for i in range(hm_days)].

要获取新列,请使用占位符变量创建新列(在本例中0,看起来您使用的是数字数据),并使用与旧数据框相同的索引:

# Iterate over all columns names in y_cols
for i in y_cols:
    old_df[i]=0
>>> old_df:
   x   y  x_pred  y_pred
0  0  10       0       0
1  1   9       0       0
2  2   8       0       0
3  3   7       0       0

最后,切片您的数据帧以获得具有新列名的新数据帧,维护旧数据帧的索引。

df_new = old_df[y_cols]
>>>
   x_pred  y_pred
0       0       0
1       0       0
2       0       0
3       0       0

即使您有一个命名的,这也有效index

      x   y  x_pred  y_pred
Date                       
0     0  10       0       0
1     1   9       0       0
2     2   8       0       0
3     3   7       0       0
df_new = old_df[y_cols]
      x_pred  y_pred
Date                
0          0       0
1          0       0
2          0       0
3          0       0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

制作新数据帧时 Pandas 中的数据帧倾斜

来自分类Dev

如何从旧数据帧创建新数据帧?

来自分类Dev

对 Pandas 数据帧进行分组

来自分类Dev

Pandas 从 MSSQL 加载数据帧

来自分类Dev

Pandas 数据帧的条件操作

来自分类Dev

Pandas 数据帧的条件减法

来自分类Dev

列表对象 Pandas 数据帧的差异

来自分类Dev

使用lapply从数据帧列表创建新数据帧

来自分类Dev

使用 Pandas 比较两个数据帧以返回一个新的数据帧 - Python

来自分类Dev

for 循环中的 Pandas 数据帧连接导致空数据帧

来自分类Dev

如何转换 Pandas 数据帧架构

来自分类Dev

如何从 Pandas 数据帧增量打印?

来自分类Dev

使用 Pandas 数据帧进行优化

来自分类Dev

Pandas:将小数据帧合并为大数据帧,用小数据帧覆盖

来自分类Dev

如何使用pandas-python递归构造数据帧的列?

来自分类Dev

如何使用pandas-python递归构造数据帧的列?

来自分类Dev

如何使用 Pandas 重新排序/排序数据帧索引?

来自分类Dev

如何使用pandas在csv中代表采样数据帧

来自分类Dev

如何在 Pandas 数据帧变量上使用 format()

来自分类Dev

如何使用 Python 打印 Pandas 数据帧的单行?

来自分类Dev

对两列进行排序,并使用pandas为数据帧中的排序值创建新列

来自分类Dev

使用 executemany 从 Pandas 数据帧更新 mysql 数据库

来自分类Dev

用pandas regex验证数据帧头

来自分类Dev

将for循环的输出写入pandas数据帧

来自分类Dev

PANDAS从文件中正确读取数据帧

来自分类Dev

Python Pandas合并或合并数据帧

来自分类Dev

注释python对象中的pandas数据帧

来自分类Dev

从 Pandas 数据帧转换为 LabeledPoint RDD

来自分类Dev

Pandas 条件更新数据帧值

Related 相关文章

热门标签

归档