从熊猫列中获取字符串值

时间:2021-04-21 23:11:29

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

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

Dataframe 的构建:

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

distance =Daten[["PLZ"]]

输出:

DataFrame

我当前的代码如下所示:

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 示例的错误消息:

Error

1 个答案:

答案 0 :(得分:0)

我将代码更改为:

distance =Daten[["PLZ"]]


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

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