gpt4 book ai didi

python - 如何在 DataFrame 的每一行上添加两列的 value_counts?

转载 作者:行者123 更新时间:2023-12-01 08:38:18 26 4
gpt4 key购买 nike

我有这个DataFrame我从另一个 DataFrame 中获取的。它有自行车旅行的起点站和终点站。我计划使用 networkx 和 from_pandas_dataframe() 将它们添加到网络中。我只需要为权重创建另一个系列/列。

我希望每一行都能找到 value_counts对于每个起始站和结束站,并将它们加在一起作为权重。

因此,对于第一个条目,我会找到站 3058 和 3082 的出现,将它们添加并将结果放在权重列上,如 this .

编辑:根据要求添加代码:

df = data[['start_station','end_station']]
a = df.start_station.value_counts()
b = df.end_station.value_counts()
pd.options.display.max_rows=300
c = a + b

这是数据集:https://ufile.io/cxbov

最佳答案

你可以这样做:

df = pd.read_csv('metro.csv')

s = df[['start_station','end_station']].apply(pd.value_counts).sum(1)

df_out = df[['start_station','end_station']].assign(weight = df['start_station'].map(s) + df['end_station'].map(s))

print(df_out.head())

输出:

   start_station  end_station  weight
0 3058 3082 6248
1 3058 3082 6248
2 4147 4174 496
3 4157 4162 903
4 3013 3013 100

关于python - 如何在 DataFrame 的每一行上添加两列的 value_counts?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53600889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com