gpt4 book ai didi

python - 将 pandas 列转换为特定位置的列表

转载 作者:太空宇宙 更新时间:2023-11-03 19:45:40 25 4
gpt4 key购买 nike

我有一张 Excel 数字表。这些是我固定的可能读数。有数百个。我有所有可能读数的数据,不幸的是没有运行数字。如果您进一步阅读,这个职位很重要。

示例表,位置不变:

         Readings
0 1111
1 1234
2 1243
3 9999
4 1237
5 1412
...
999 8878

现在每周一我都必须读新的书,比如说 5 篇(实际上更多,但为了简单起见,只有 5 篇)。

Pandas 数据框:

       Taken
0 9999
1 9999
2 1237
3 8878
4 1412

我喜欢将它们表示为显示出现次数的列表。如果出现 X 次则为 X,如果没有出现则为 0。因此,这 5 个读数将是:

[0,0,0,2,1,1,1,....0]

有办法做到这一点吗?

最佳答案

这段代码可能是解决您的问题的好方法:

import pandas as pd
df1 = pd.DataFrame({"Readings":[1111,1234,1243,9999,1237,1412,8878]})
df2 = pd.DataFrame({"Taken":[9999,9999,1237,8878,1412]})

def checkOcurrance(val):
count = 0
try:
count = df2["Taken"].value_counts()[val]
except:
pass
return count

df1["Ocurrance"] = df1["Readings"].apply(checkOcurrance)

然后 df1 将导致:

>>> df1
Readings Ocurrance
0 1111 0
1 1234 0
2 1243 0
3 9999 2
4 1237 1
5 1412 1
6 8878 1

您可以将 Ocurrance 列传递给 list 以最终获得列表,如下所示:

out = df1["Ocurrance"].tolist()

结果:

>>> out
[0L, 0L, 0L, 2L, 1L, 1L, 1L]

关于python - 将 pandas 列转换为特定位置的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60157458/

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