楼主: xinyinian
733 2

[问答] 行特定值赋值 [推广有奖]

  • 0关注
  • 0粉丝

本科生

40%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
1.6116
学术水平
5 点
热心指数
0 点
信用等级
0 点
经验
525 点
帖子
23
精华
0
在线时间
114 小时
注册时间
2018-12-28
最后登录
2023-10-27

楼主
xinyinian 发表于 2020-3-20 23:38:37 |AI写论文
2论坛币
各位朋友,我编了段代码,本意是想挑出小于特定值(比如40)的值,再将这些小于40的每个值随机赋值。结果发现结果所有小于40的值都被赋值成了一个,这该怎么改?或者用其他思路也可以 修改前 修改后(有问题) 代码

最佳答案

yunnandlg 查看完整内容

test.csv数据如下: old other 0 50 51 1 39 40 2 40 41 3 24 25 4 50 51 5 40 41 6 35 36 7 50 51 8 50 51 9 50 51 ************************************************** import pandas as pd import random df=pd.read_csv("test.CSV") print(df) print("*"*50) df["new1"]=df[df.old=40].old print(df) print("+"*50) df=df.fil ...

回帖推荐

yunnandlg 发表于2楼  查看完整内容

test.csv数据如下: old other 0 50 51 1 39 40 2 40 41 3 24 25 4 50 51 5 40 41 6 35 36 7 50 51 8 50 51 9 50 51 ************************************************** import pandas as pd import random df=pd.read_csv("test.CSV") print(df) print("*"*50) df["new1"]=df[df.old=40].old print(df) print("+"*50) df=df.fil ...
已有 1 人评分经验 学术水平 收起 理由
yunnandlg + 100 + 5 精彩帖子

总评分: 经验 + 100  学术水平 + 5   查看全部评分

沙发
yunnandlg 在职认证  学生认证  发表于 2020-3-20 23:38:38
test.csv数据如下:
   old  other
0   50     51
1   39     40
2   40     41
3   24     25
4   50     51
5   40     41
6   35     36
7   50     51
8   50     51
9   50     51
**************************************************
import  pandas as pd
import random
df=pd.read_csv("test.CSV")
print(df)
print("*"*50)

df["new1"]=df[df.old<40].apply(lambda x: random.randint(45,50),axis=1)
df["new2"]=df[df.old>=40].old

print(df)
print("+"*50)

df=df.fillna(0)
df["new"]=df["new1"]+df["new2"]
print(df)
print("-"*50)
**************************************************

输出结果如下:  


   old    other
0   50     51
1   39     40
2   40     41
3   24     25
4   50     51
5   40     41
6   35     36
7   50     51
8   50     51
9   50     51
**************************************************
    old    other  new1  new2
0   50     51   NaN  50.0
1   39     40  47.0   NaN
2   40     41   NaN  40.0
3   24     25  50.0   NaN
4   50     51   NaN  50.0
5   40     41   NaN  40.0
6   35     36  50.0   NaN
7   50     51   NaN  50.0
8   50     51   NaN  50.0
9   50     51   NaN  50.0
++++++++++++++++++++++++++++++++++++++++++++++++++
    old    other  new1  new2   new
0   50     51   0.0  50.0  50.0
1   39     40  47.0   0.0  47.0
2   40     41   0.0  40.0  40.0
3   24     25  50.0   0.0  50.0
4   50     51   0.0  50.0  50.0
5   40     41   0.0  40.0  40.0
6   35     36  50.0   0.0  50.0
7   50     51   0.0  50.0  50.0
8   50     51   0.0  50.0  50.0
9   50     51   0.0  50.0  50.0
--------------------------------------------------



藤椅
yunnandlg 在职认证  学生认证  发表于 2020-3-21 13:17:12
test.csv数据如下:
   old  other
0   50     51
1   39     40
2   40     41
3   24     25
4   50     51
5   40     41
6   35     36
7   50     51
8   50     51
9   50     51
**************************************************
import  pandas as pd
import random
df=pd.read_csv("test.CSV")
print(df)
print("*"*50)

df["new1"]=df[df.old<40].apply(lambda x: random.randint(45,50),axis=1)
df["new2"]=df[df.old>=40].old

print(df)
print("+"*50)

df=df.fillna(0)
df["new"]=df["new1"]+df["new2"]
print(df)
print("-"*50)
**************************************************

输出结果如下:  


   old    other
0   50     51
1   39     40
2   40     41
3   24     25
4   50     51
5   40     41
6   35     36
7   50     51
8   50     51
9   50     51
**************************************************
    old    other  new1  new2
0   50     51   NaN  50.0
1   39     40  47.0   NaN
2   40     41   NaN  40.0
3   24     25  50.0   NaN
4   50     51   NaN  50.0
5   40     41   NaN  40.0
6   35     36  50.0   NaN
7   50     51   NaN  50.0
8   50     51   NaN  50.0
9   50     51   NaN  50.0
++++++++++++++++++++++++++++++++++++++++++++++++++
    old    other  new1  new2   new
0   50     51   0.0  50.0  50.0
1   39     40  47.0   0.0  47.0
2   40     41   0.0  40.0  40.0
3   24     25  50.0   0.0  50.0
4   50     51   0.0  50.0  50.0
5   40     41   0.0  40.0  40.0
6   35     36  50.0   0.0  50.0
7   50     51   0.0  50.0  50.0
8   50     51   0.0  50.0  50.0
9   50     51   0.0  50.0  50.0
--------------------------------------------------

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 00:16