0

我正在尝试将stop_idin与 in 匹配,stop_times.csv以便将stop_idin和stops.csvin 复制到它们各自的列中。stop_latstop_lonstop_times.csv

要点文件:

stops.csv 关联

stop_times.csv 关联

这是我的代码:

import pandas as pd

st = pd.read_csv('csv/stop_times.csv', sep=',')
st.set_index(['trip_id','stop_sequence'])
stops = pd.read_csv('csv/stops.csv')

for i in range(len(st)):
    for x in range(len(stops)):
        if st['stop_id'][i] == stops['stop_id'][x]:
            st['stop_lat'][i] = stops['stop_lat'][x]
            st['stop_lon'][i] = stops['stop_lon'][x]

st.to_csv('csv/stop_times.csv', index=False)

我知道脚本正在应用一个副本,但我不确定还有什么其他方法可以做到这一点,因为我对熊猫还很陌生。

4

1 回答 1

1

您可以merge使用两个 DataFrame:

pd.merge(stops, st, on='stop_id')

由于每个都有stop_lat列,它会给你stop_lat_x(好的)和stop_lat_y(总是零的)。然后,您可以删除或忽略坏列,并根据需要输出结果 DataFrame。

于 2014-12-30T07:10:27.850 回答