小编Arn*_*ein的帖子

熊猫条形图与分档范围

有没有办法从连续数据分组到预定义的时间间隔创建条形图?例如,

In[1]: df
Out[1]: 
0      0.729630
1      0.699620
2      0.710526
3      0.000000
4      0.831325
5      0.945312
6      0.665428
7      0.871845
8      0.848148
9      0.262500
10     0.694030
11     0.503759
12     0.985437
13     0.576271
14     0.819742
15     0.957627
16     0.814394
17     0.944649
18     0.911111
19     0.113333
20     0.585821
21     0.930131
22     0.347222
23     0.000000
24     0.987805
25     0.950570
26     0.341317
27     0.192771
28     0.320988
29     0.513834

231    0.342541
232    0.866279
233    0.900000
234    0.615385
235    0.880597
236    0.620690
237    0.984375
238    0.171429 …
Run Code Online (Sandbox Code Playgroud)

python histogram bar-chart pandas

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

Pandas 数据帧到 JSONL(JSON 行)转换

我需要将熊猫数据框转换为 JSONL 格式。我找不到一个好的包来做它并尝试自己实现,但它看起来有点丑陋且效率低下。

例如,给定一个熊猫 df:

        label      pattern
  0      DRUG      aspirin
  1      DRUG    trazodone
  2      DRUG   citalopram
Run Code Online (Sandbox Code Playgroud)

我需要转换为格式的txt文件:

{"label":"DRUG","pattern":[{"lower":"aspirin"}]}
{"label":"DRUG","pattern":[{"lower":"trazodone"}]}
{"label":"DRUG","pattern":[{"lower":"citalopram"}]}
Run Code Online (Sandbox Code Playgroud)

我尝试过to_dict('records'),但我缺少[ ]并嵌套了“下”键。

df.to_dict('record')
Run Code Online (Sandbox Code Playgroud)

创建:

[{'label': 'DRUG', 'pattern': 'aspirin'},
 {'label': 'DRUG', 'pattern': 'trazodone'},
 {'label': 'DRUG', 'pattern': 'citalopram'}]
Run Code Online (Sandbox Code Playgroud)

我想过转换“模式”列并包含嵌套的“较低”?

UPD

到目前为止,我成功地将“模式”转换为列表:

df_new = pd.concat((df[['label']], df[['pattern']].apply(lambda x: x.tolist(), axis=1)), axis=1)
df_new.columns = ['label', 'pattern']
df_new.head()
Run Code Online (Sandbox Code Playgroud)

结果:

    label   pattern
0   DRUG    [aspirin]
1   DRUG    [trazodone]
2   DRUG    [citalopram]
Run Code Online (Sandbox Code Playgroud)

进而:

df_new.to_dict(orient='记录')

[{'label': 'DRUG', 'pattern': ['aspirin']},
 {'label': 'DRUG', 'pattern': ['trazodone']},
 {'label': 'DRUG', …
Run Code Online (Sandbox Code Playgroud)

python pandas jsonlines

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

scikit-learn(python)中的平衡随机森林

我想知道在scikit-learn软件包的最新版本中是否有平衡随机森林(BRF)的实现.BRF用于不平衡数据的情况.它可以作为普通RF工作,但是对于每次自举迭代,它通过欠采样来平衡普遍性类.例如,给定两个类N0 = 100,N1 = 30个实例,在每个随机抽样中,它从第一个类中抽取(替换)30个实例,从第二个类抽取相同数量的实例,即它在一个树上训练一个树.平衡数据集.有关更多信息,请参阅本文.

RandomForestClassifier()确实有'class_weight ='参数,可能设置为'balanced',但我不确定它是否与bootrapped训练样本的下采样有关.

classification random-forest scikit-learn

9
推荐指数
2
解决办法
3361
查看次数

在Pandas中查找数字列名称

我需要在Pandas中选择列中只包含数值的列,例如:

df=
          0     1     2     3     4 window_label next_states       ids
0      17.0  18.0  16.0  15.0  15.0        ddddd           d      13.0
1      18.0  16.0  15.0  15.0  16.0        ddddd           d      13.0
2      16.0  15.0  15.0  16.0  15.0        ddddd           d      13.0
3      15.0  15.0  16.0  15.0  17.0        ddddd           d      13.0
4      15.0  16.0  15.0  17.0   NaN        ddddd           d      13.0
Run Code Online (Sandbox Code Playgroud)

所以我只需要选择前五列.就像是:

df[df.columns.isnumeric()]
Run Code Online (Sandbox Code Playgroud)

编辑

我提出了解决方案:

digit_column_names = [num for num in list(df.columns) if isinstance(num, (int,float))]
df_new = df[digit_column_names]
Run Code Online (Sandbox Code Playgroud)

不是非常pythonic或pandasian,但它的工作原理.

python dataframe pandas

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

使用 Pandas GroupBy 找到每个组的一半

我需要使用 选择数据框的一半groupby,其中每个组的大小未知并且可能因组而异。例如:

       index  summary  participant_id
0     130599     17.0              13
1     130601     18.0              13
2     130603     16.0              13
3     130605     15.0              13
4     130607     15.0              13
5     130609     16.0              13
6     130611     17.0              13
7     130613     15.0              13
8     130615     17.0              13
9     130617     17.0              13
10     86789     12.0              14
11     86791      8.0              14
12     86793     21.0              14
13     86795     19.0              14
14     86797     20.0              14
15     86799      9.0              14
16     86801     10.0              14
20    107370      1.0              15
21 …
Run Code Online (Sandbox Code Playgroud)

python pandas split-apply-combine pandas-groupby

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

使用groupby和mean()在Pandas中保留一个带有分类变量的列

有没有办法保持分类变量之后groupbymean()?例如,给定数据帧df:

              ratio    Metadata_A      Metadata_B   treatment
0      54265.937500           B10               1  AB_cmpd_01
11    107364.750000           B10               2  AB_cmpd_01
22     95766.500000           B10               3  AB_cmpd_01
24     64346.250000           B10               4  AB_cmpd_01
25     52726.333333           B10               5  AB_cmpd_01
30     65056.600000           B11               1          UT
41     78409.600000           B11               2          UT
52    133533.000000           B11               3          UT
54    102433.571429           B11               4          UT
55     82217.588235           B11               5          UT
60     89843.600000            B2               1          UT
71     98544.000000            B2               2          UT
82    179330.000000            B2               3          UT
84    107132.400000            B2               4 …
Run Code Online (Sandbox Code Playgroud)

python pandas categorical-data pandas-groupby

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

展平嵌套的pandas数据帧

我想知道如何展平嵌套的pandas数据帧,如附图所示. 在此输入图像描述

嵌套属性由'data'字段给出.简而言之:我有一个参与者列表(由'participant_id'表示),他们在不同时间提交了回复('数据').我需要创建宽数据框,每个时间戳的每个参与者都有一行数据记录('q1','q2',...,'summary')

提前谢谢了!

python dataframe pandas

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

与熊猫并排的箱线图

我需要对存储在熊猫中的五个变量进行比较dataframe。我从这里使用了一个示例,它起作用了,但是现在我需要更改坐标轴和标题,但是我很难做到这一点。

这是我的数据:

df1.groupby('cls').head()
Out[171]: 
   sensitivity  specificity  accuracy       ppv       auc       cls
0     0.772091     0.824487  0.802966  0.799290  0.863700       sig
1     0.748931     0.817238  0.776366  0.785910  0.859041       sig
2     0.774016     0.805909  0.801975  0.789840  0.853132       sig
3     0.826670     0.730071  0.795715  0.784150  0.850024       sig
4     0.781112     0.803839  0.824709  0.791530  0.863411       sig
0     0.619048     0.748290  0.694969  0.686138  0.713899  baseline
1     0.642348     0.702076  0.646216  0.674683  0.712632  baseline
2     0.567344     0.765410  0.710650  0.665614  0.682502  baseline
3     0.644046     0.733645  0.754621  0.683485  0.734299  baseline
4     0.710077     0.653871 …
Run Code Online (Sandbox Code Playgroud)

python boxplot pandas

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

使用 Pandas 忽略 .diff() 中的 NaN

我需要计算每行沿 axis=1 的元素之间的差异,忽略缺失值 (NaN)。例如:

       0     1     2     3     4     5
20   NaN   7.0   5.0   NaN   NaN   8.0
21   7.0   5.0   NaN   NaN   8.0   NaN
22   5.0   NaN   NaN   8.0   NaN   7.0
23   NaN   NaN   8.0   NaN   7.0   NaN
24   NaN   8.0   NaN   7.0   NaN  10.0
25   8.0   NaN   7.0   NaN  10.0   NaN
26   NaN   7.0   NaN  10.0   NaN   NaN
27   7.0   NaN  10.0   NaN   NaN   9.0
28   NaN  10.0   NaN   NaN   9.0   6.0
29  10.0   NaN   NaN   9.0   6.0   6.0 …
Run Code Online (Sandbox Code Playgroud)

python diff nan pandas

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

具有任意数量输入通道(超过RGB)的卷积神经网络架构

我对CNN的图像识别非常陌生,目前在Keras(VGG和ResNet)中使用了几种标准(预训练)架构来进行图像分类任务.我想知道如何将输入通道的数量概括为3(而不是标准RGB).例如,我有一个通过5个不同(光学)滤镜拍摄的图像,我正在考虑将这5个图像传递到网络.

因此,从概念上讲,我需要传递作为输入(高度,宽度,深度)=(28,28,5),其中28x28是图像大小,5是通道数.

有什么简单的方法可以使用ResNet或VGG吗?

python image-processing conv-neural-network keras tensorflow

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