小编Sas*_*cha的帖子

计算值的外观,直到它更改为另一个值

我有以下DataFrame:

df = pd.DataFrame([10, 10, 23, 23, 9, 9, 9, 10, 10, 10, 10, 12], columns=['values'])
Run Code Online (Sandbox Code Playgroud)

我想计算每个值的频率,但不计算总计数 - 每个值的计数,直到它变为另一个值.

我试过了:

df['values'].value_counts()
Run Code Online (Sandbox Code Playgroud)

但它给了我

10    6
9     3
23    2
12    1
Run Code Online (Sandbox Code Playgroud)

期望的输出是

10:2 
23:2
 9:3
10:4
12:1
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

python frequency count pandas

9
推荐指数
3
解决办法
1593
查看次数

在熊猫中的特定值之前获取 n 行

说,我有以下数据框:

import pandas as pd
dict = {'val':[3.2, 2.4, -2.3, -4.9, 3.2, 2.4, -2.3, -4.9, 2.4, -2.3, -4.9], 
        'label': [0, 2, 1, -1, 1, 2, -1, -1,1, 1, -1]} 
df = pd.DataFrame(dict) 
df
     val    label
0    3.2     0
1    2.4     2
2   -2.3     1
3   -4.9    -1
4    3.2     1
5    2.4     2
6   -2.3    -1
7   -4.9    -1
8    2.4     1
9   -2.3     1
10  -4.9    -1
Run Code Online (Sandbox Code Playgroud)

我想在列标签中的 -1 值之前取每 n(例如 2)行。在给定的 df 中,首先 -1 出现在索引 3 处,我们取它之前的 2 …

python indexing for-loop pandas

5
推荐指数
1
解决办法
412
查看次数

python pandas dataframe 中的分箱(不是手动设置箱)

我有一个数据框。我想对值进行分类并将其附加到新列。我可以用 pd.cut 来做到这一点。但问题是,使用 pd.cut 我手动设置标签和垃圾箱。但是,我只想设置步长(而不是 bin 号)。我也尝试过 np.linespace、np.arange 但我必须指定起点和终点以及 bin 计数。但可能存在一个数据帧,我无法知道数据帧中的最大和最小数量

df = pd.DataFrame([10, 10, 23, 42, 51, 33, 52, 42,44, 67, 65, 12, 10, 2, 3, 2, 77, 76],columns=['values'])
bins = [0, 10, 20,30, 40, 50, 60, 70]
labels = ['0-10', '10-20', '20-30', '30-40', '40-50', '50-60', '60-70']
df['bins'] = pd.cut(df['values'], bins, labels=labels)
print (df)

    values   bins
0       10   0-10
1       10   0-10
2       23  20-30
3       42  40-50
4       51  50-60
5       33  30-40
6       52  50-60
7       42 …
Run Code Online (Sandbox Code Playgroud)

python numpy bin dataframe pandas

4
推荐指数
1
解决办法
4702
查看次数

如何找到 DBSCAN 的最佳参数?

有没有任何工具可以计算 DBSCAN 算法的 minpts 和 eps 的最佳值?

目前我使用sklearn库来应用DBSCAN算法

from sklearn.cluster import DBSCAN
Run Code Online (Sandbox Code Playgroud)

我尝试了具有多个 minpts 和 eps 的算法,但没有任何计算。

python parameters dbscan sklearn-pandas

3
推荐指数
1
解决办法
1万
查看次数

使用键创建字典,因为文件名值是内容

我有 4 个文件,我根据 csv 文件的名称创建了列表:

file_names['file1', 'file2', 'file3', 'file4']
Run Code Online (Sandbox Code Playgroud)

在每个文件中我都有超过 6-7 列。我可以使用以下代码获取列名称:

for x in file_names:
    df = pd.read_csv(path + x)
    print(list(df.columns))
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是我如何创建(不是手动)带有 for 循环的字典,其中键file_names和值是list(df.columns)

python dictionary key-value pandas

1
推荐指数
1
解决办法
2986
查看次数