当前位置: 首页 > 知识库问答 >
问题:

如何在DataFrame中添加新的计算列?[副本]

井通
2023-03-14
Data columns in 'Person' Dataframe:
TodaysDate   non-null datetime64[ns]
YOB          non-null float64
Person['Age'] = map(sum, (Person.ix[0,'TodaysDate']).year, -(Person['YOB']))

TypeError: 'int' object is not iterable
Person['Age'] = map((Person.ix[0,'TodaysDate']).year - Person['YOB'])

TypeError: map() must have at least two arguments.

有什么想法可以如何使用map函数从float列yob中减去datetime列todaysdate并将该值放入age列吗?我希望对DataFrame中的每一行都这样做。

谢谢你!

共有1个答案

南宫喜
2023-03-14

数据:

In [5]: df
Out[5]:
    YOB
0  1955
1  1965
2  1975
3  1985

您不需要额外的列TodaysDate-您可以动态地获取它:

In [6]: df['Age'] = pd.datetime.now().year - df.YOB

In [7]: df
Out[7]:
    YOB  Age
0  1955   62
1  1965   52
2  1975   42
3  1985   32

或者,您可以使用dataframe.eval()方法:

In [16]: df
Out[16]:
    YOB
0  1955
1  1965
2  1975
3  1985

In [17]: df.eval("Age = @pd.datetime.now().year - YOB", inplace=True)

In [18]: df
Out[18]:
    YOB  Age
0  1955   62
1  1965   52
2  1975   42
3  1985   32
 类似资料:
  • 因此,我目前在R中有一个dataframe,其中:

  • 问题内容: 我目前正在尝试从MongoDB中提取数据库,并使用Spark来将其提取到ElasticSearch中。 Mongo数据库具有纬度和经度值,但是ElasticSearch要求将它们强制转换为类型。 Spark中是否可以将and 列复制到or 的新列? 任何帮助表示赞赏! 问题答案: 我假设您从某种平面模式开始,如下所示: 首先让我们创建示例数据: 一种简单的方法是使用udf和case类:

  • 对如何实现这一点有什么想法吗?

  • 那么,如何使用PySpark向现有的DataFrame添加一个新列(基于Python vector)呢?

  • 问题内容: 我想在中添加具有任意值的列(每行相同)。使用以下内容时出现错误: 看来我可以通过添加和减去其他一列(这样它们加到零)然后添加我想要的数字(在这种情况下为10)来欺骗函数按我的意愿工作: 这绝对是骇客,对吧?我认为还有一种更合法的方法吗? 问题答案: Spark 2.2+ Spark 2.2引入了,和(SPARK-19254),并且应该支持以下调用(Scala): 的第二个参数应该是,因

  • 本文向大家介绍向Pandas中的现有DataFrame添加新列,包括了向Pandas中的现有DataFrame添加新列的使用技巧和注意事项,需要的朋友参考一下 Pandas 数据框是一种二维数据结构,即,数据以表格的形式在行和列中对齐。可以使用python dict,list和series等创建它。在本文中,我们将看到如何在现有数据框中添加新列。因此,首先让我们使用pandas系列创建一个数据框。