我想计算数据框中未列出值的次数。
1 A
2 A
3 B
4 A
5 C
6 B
7 C
8 A
9 B
对于 A
这意味着:
1-2:0次
2-4:1次
4-8:3次
对于 B
这意味着:
3-6:2次
6-9:2次
对于 C
这意味着:
5-7:1次
有没有一种聪明的方法可以用 pandas 来做到这一点? 索引实际上是时间戳,但我认为这对问题并不重要。
最佳答案
假设您标记文本并将其复制到剪贴板中:
import pandas as pd
df = pd.read_clipboard(header=None)
最终得到一个包含第 0 列和第 1 列的数据框。第 0 列包含数字,第 1 列包含字母。
正在运行
for letter in df[1].unique():
result = [f'{start}-{end}: {end - start -1} times'
for start, end in zip(
list(df[df[1] == letter][0]),
list(df[df[1] == letter][0])[1:]
)
]
print(letter, result)
打印
A ['1-2: 0 times', '2-4: 1 times', '4-8: 3 times']
B ['3-6: 2 times', '6-9: 2 times']
C ['5-7: 1 times']
关于python - Pandas:计算特定值的差距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54137876/