迭代Pandas数据帧的行

时间:2018-04-16 17:13:14

标签: python pandas loops dataframe

我喜欢:

var numFiles = files.length;
$(document).ready(function(){
  $('form').submit(function(e){
    event.preventDefault();
    var fileName = e.target.files[numFiles].name;
    alert(fileName);
  });
});

对于每个Path_ID(str),我想迭代循环并希望实现df1,如:

CELLID  lon       lat         METER           LATITUDE_SM LONGITUDE_SM  Path_ID
2557709 5.286339 51.353820 E0047000004028217  51.3501      5.3125    2557709_E0047000004028217

我在df中有很多行。 我正在做类似

的事情
Path_ID                    METER          LATITUDE_SM  LONGITUDE_SM
2557709_E0047000004028217 E0047000004028217  51.3501    5.3125 
Path_ID                   CELLID            Lon           lat
2557709_E0047000004028217 2557709         5.286339     51.353820

2 个答案:

答案 0 :(得分:2)

目前还不清楚为什么要这种行为,但您可以使用pd.DataFrame.iloc实现此目的。

如果您只需要特定列,请将:替换为列号列表。

import pandas as pd, numpy as np

df = pd.DataFrame(np.random.random((5, 5)))

for i in range(len(df.index)):
    print(df.iloc[[i], :])

#           0         1         2         3         4
# 0  0.587349  0.947435  0.974285  0.498303  0.135898
#           0         1         2         3         4
# 1  0.292748  0.880276  0.522478  0.081902  0.187494
#           0         1         2         3         4
# 2  0.692022  0.908397  0.200202  0.099722  0.348589
#           0         1         2         3         4
# 3  0.041564  0.980425  0.899634  0.725757  0.569983
#           0         1         2         3         4
# 4  0.787038  0.000077  0.213646  0.444095  0.022923

答案 1 :(得分:2)

很难理解你的目标,但是IIUC,你想按Path_ID进行分组并打印每个值

grouped_df= df.groupby("Path_ID")[["Path_ID", "METER", "LATITUDE_SM", "LONGITUDE_SM"]]
for key, val in grouped_df:
    print grouped_df.get_group(key), "\n"

输出

                     Path_ID              METER  LATITUDE_SM  LONGITUDE_SM
0  2557709_E0047000004028217  E0047000004028217        51.35        5.3125