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

将函数应用于数据帧的列列表?

年光明
2023-03-14

我从这个URL刮取了这个表:

"https://www.patriotsoftware.com/blog/accounting/average-cost-living-by-state/"

看起来像这样:

 State  Annual Mean Wage (All Occupations)  Median Monthly Rent Value of a Dollar
    0   Alabama $44,930 $998    $1.15
    1   Alaska  $59,290 $1,748  $0.95
    2   Arizona $50,930 $1,356  $1.04
    3   Arkansas    $42,690 $953    $1.15
    4   California  $61,290 $2,518  $0.87

然后我编写了这个函数来帮助我将字符串转换成整数:

def money_string_to_int(s):
return int(s.replace(",", "").replace("$",""))

money_string_to_int("$1,23")

当我只将函数应用于一列时,它就会工作。我在这里找到了关于在多个列上使用的答案:如何将函数应用于多个列

但我下面的代码不起作用,也不会产生错误:

ls = ['Annual Mean Wage (All Occupations)', 'Median Monthly Rent',
       'Value of a Dollar']

ppe_table[ls] = ppe_table[ls].apply(money_string_to_int)

共有1个答案

郑安晏
2023-03-14

让我们试试

df.set_index('State').apply(lambda x: (x.str.replace('[$,]','').astype(float))).reset_index()
 类似资料:
  • 并将其应用于数据表的一列--这是我希望这样做的: 我还没有找到任何简单的方法,正在努力找出如何做到这一点。一定有一个更简单的方法,比将数据rame转换为和RDD,然后从RDD中选择行来获得正确的字段,并将函数映射到所有的值,是吗?创建一个SQL表,然后用一个sparkSQL UDF来完成这个任务,这更简洁吗?

  • 怎么办? **添加详细示例如下***

  • 我有一个派斯帕克数据帧 我想将其转换为与 pyspark.ml 一起使用。我可以使用字符串索引器将名称列转换为数字类别: 如何用StringIndexer(例如< code>name和< code>food,每个列都有自己的< code>StringIndexer)转换几个列,然后用VectorAssembler生成一个特征向量?还是必须为每一列创建一个< code>StringIndexer?

  • 我必须从二维坐标计算希尔伯特曲线上的距离。使用hilbertcurve包,我构建了自己的“hilbert”函数。坐标存储在数据帧(列1和列2)中。如您所见,我的函数在应用于两个值(test)时有效。 然而,它只是不工作时,应用行明智通过应用函数!这是为什么呢?我到底做错了什么?我需要一个额外的列“希尔伯特”,希尔伯特距离在列“col_1”和“col_2”中给出。 最后一个命令以错误结束: 谢谢你的

  • 我有以下函数(一个以列作为输入的热编码函数)。我基本上想把它应用到我的数据框中的一列,但似乎不明白出了什么问题。 猜我怎么称呼它有问题?

  • 我有一个数据帧,在对其应用函数时给出值错误。 ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。