【问题标题】:Getting a string value from a pandas column从熊猫列中获取字符串值
【发布时间】:2021-07-16 03:59:35
【问题描述】:

我有 Pandas 数据框,其中包含一个名为 PLZ 的可悲列和一个索引。我想遍历整个列并仅提取 PLZ 的值,它是一个字符串。结果应该看起来像“50492”,因为 PLZ 是德语的邮政编码。

数据框的构造:

Daten=pd.read_csv("Daten.csv",sep=",",decimal=".",header=0,
               names=["PLZ", "Bundesland","Kreis",])

distance =Daten[["PLZ"]]

输出:

我当前的代码如下所示:

distance =Daten[["PLZ"]]

for row in tqdm(distance.itertuples()):
     
     distance2 = pd.concat(calc_dist("50674", column))

所需的输出应该是列的“58439”之类的值。

问题是:我得到了 calc_dist 行:'numpy.float64' 对象不可迭代 - 显然我不能使用列来检索我的值。但我也不能使用 .values1 属性,因为它会引发同样的问题。我不能使用 iloc 因为它不适用于字符串。 Loc 不起作用,因为它最终依赖于 .values[0] 。即使没有循环的方法也不起作用,因为我无法检索单元格的值。

带有 loc 的示例的错误消息:

【问题讨论】:

  • 请添加一个具有预期输出的源数据框。您也可以包含生成数据框的代码
  • 嗨,我不知道源数据框的确切含义,但我添加了创建和屏幕截图,以及整个错误消息。亲切的问候!
  • 不是machine-learning 问题,请不要向无关标签发送垃圾邮件(已删除)。

标签: python-3.x pandas dataframe numpy loops


【解决方案1】:

我把代码改成:

distance =Daten[["PLZ"]]


for i in tqdm(range(len(distance))):
     a=distance.loc[i]["PLZ"]
   
     calc_dist("50674", a)

这很神奇,在另一个函数中调用 distance.loc 函数似乎是个坏主意。现在我只需要遍历 200 万个样本,这有点慢但很好:)

【讨论】:

    猜你喜欢
    • 2019-03-27
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    相关资源
    最近更新 更多