从熊猫列中获取字符串值
Posted
技术标签:
【中文标题】从熊猫列中获取字符串值【英文标题】: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
问题,请不要向无关标签发送垃圾邮件(已删除)。
【参考方案1】:
我把代码改成:
distance =Daten[["PLZ"]]
for i in tqdm(range(len(distance))):
a=distance.loc[i]["PLZ"]
calc_dist("50674", a)
这很神奇,在另一个函数中调用 distance.loc 函数似乎是个坏主意。现在我只需要遍历 200 万个样本,这有点慢但很好:)
【讨论】:
以上是关于从熊猫列中获取字符串值的主要内容,如果未能解决你的问题,请参考以下文章