【问题标题】:How do I create new column in dataframe based on an existing column in Jupyter?如何根据 Jupyter 中的现有列在数据框中创建新列?
【发布时间】:2020-01-12 00:04:28
【问题描述】:

假设我有一个像这样的数据框:

    A   B
0   1   3
1   2   4
2   3   5
3   4   6

我想要一个等于 A[i-1] 和一个等于 B[i-1] 的新列,所以:

    A   B   A1   B1
0   1   3   Nan  Nan
1   2   4   1    3
2   3   5   2    4
3   4   6   3    5

我该怎么做?

【问题讨论】:

标签: python pandas dataframe jupyter


【解决方案1】:

IIUC,

一个想法是将列传递给列表并循环,同时将您的 col 分配给 shift()

cols = df.columns.tolist()
for col in cols:
    df[f'{col}1'] = df[col].shift(1)
print(df)

    A   B   A1  B1
0   1   3   NaN NaN
1   2   4   1.0 3.0
2   3   5   2.0 4.0
3   4   6   3.0 5.0

【讨论】:

  • 你能解释一下 df[f'{col}1'] 是如何工作的吗?我喜欢它,我不明白如何。
  • @merit_2 它是一个f-string,它是在最近的python 版本中添加的,它与.format 相同,但更多更快且更易于阅读。这是基本的字符串插值
猜你喜欢
  • 2021-06-05
  • 2021-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-26
  • 1970-01-01
  • 2020-04-12
相关资源
最近更新 更多