小编Mar*_*ria的帖子

python pandas-应用具有两个列参数的函数

你能用两个不同的列作为参数创建一个python pandas函数吗?

我有一个函数,如果两列的值在同一范围内,则返回1.否则返回0:

def segmentMatch(RealTime, ResponseTime):
    if RealTime <= 566 and ResponseTime <= 566:
        matchVar = 1
    elif 566 < RealTime <= 1132 and 566 < ResponseTime <= 1132:
        matchVar = 1
    elif 1132 < RealTime <= 1698 and 1132 < ResponseTime <= 1698:
        matchVar = 1
    else:
        matchVar = 0
    return matchVar
Run Code Online (Sandbox Code Playgroud)

我希望第一个参数,RealTime是我的数据框中的一列,这样该函数将获取该列中每行的值.例如RealTimedf['TimeCol'],第二个参数是df ['ResponseCol']`.我希望结果成为数据框中的新列.我遇到了几个 已回答类似问题的线程,但看起来这些参数是变量,而不是数据帧行中的值.

我尝试了以下但它不起作用:

df['NewCol'] = df.apply(segmentMatch, args=(df['TimeCol'], df['ResponseCol']), axis=1)
Run Code Online (Sandbox Code Playgroud)

python function dataframe pandas

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

沿着NumPy数组的行在特定位置插入零行

我有一个两列numpy数组.我想通过第2列的每一行,并取每组2个数字(9.6-0,19.13-9.6等)之间的差异.如果差值> 15,我想为两列插入一行0.我真的只需要在第一列中结束值(我只需要第二列来确定将0放在哪里),所以如果更容易将它们拆分,那就没问题了.

这是我的输入数组:

 [[0.00 0.00]
 [1.85 9.60]
 [2.73 19.13]
 [0.30 28.70]
 [2.64 38.25]
 [2.29 47.77]
 [2.01 57.28]
 [2.61 66.82]
 [2.20 76.33]
 [2.49 85.85]
 [2.55 104.90]
 [2.65 114.47]
 [1.79 123.98]
 [2.86 133.55]]
Run Code Online (Sandbox Code Playgroud)

它应该变成:

 [[0.00 0.00]
 [1.85 9.60]
 [2.73 19.13]
 [0.30 28.70]
 [2.64 38.25]
 [2.29 47.77]
 [2.01 57.28]
 [2.61 66.82]
 [2.20 76.33]
 [2.49 85.85]
 [0.00 0.00]
 [2.55 104.90]
 [2.65 114.47]
 [1.79 123.98]
 [2.86 133.55]]
Run Code Online (Sandbox Code Playgroud)

python arrays numpy python-2.7

6
推荐指数
2
解决办法
321
查看次数

基于字典(Pandas)替换列中的值

我有一个包含主题 # 映射的文本文件 (subject_ID_dict.csv),如下所示:

30704   703
30705   849
30714   682
30720   699
30727   105
30729   708
30739   707
30757   854
30758   710
30763   724
30771   715
30773   99
30777   719
30779   717
30798   728
30805   732
30809   727
30831   734
30838   736
30868   735
30908   742
30929   115
30942   747
30944   743
30993   745
31006   116
31018   113
31040   758
31055   756
31057   755
31058   754
31068   760
31091   885
31147   764
31193   765
31196   767
31202   766
31209   117 …
Run Code Online (Sandbox Code Playgroud)

python dictionary replace dataframe pandas

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

排序python中的小数列表

我有以下列表,我想排序:

['104.900209904', '238.501860857', '9.59893298149', '362.470027924', '419.737339973']

我用"排序"函数来做到这一点:

Block1_Video1 = sorted(Block1_Video1)
Run Code Online (Sandbox Code Playgroud)

但是,这就是我得到的:

['104.900209904', '238.501860857', '362.470027924', '419.737339973', '9.59893298149']
Run Code Online (Sandbox Code Playgroud)

虽然这是我想要的(一个列表按数字排序,考虑小数点):

[''9.59893298149', 104.900209904', '238.501860857', '362.470027924', '419.737339973']
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点?

python sorting floating-point list

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