Python 替换数据集中的值

Python 替换数据集中的值,python,pandas,dataframe,dataset,Python,Pandas,Dataframe,Dataset,我的数据集是 value 0.486903 0.520908 0.530904 0.483284 0.475935 0.502831 0.541743 0.566318 0.500073 0.510959 0.546008 0.551682 0.534396 0.501554 0.541277 我想替换我的数据集中的这些值,请提供pyhton代码以满足要求 类别: 0.470000-0.500000=1,0.500001-0.530000=2,0.530001-0.56000=3 请说明如何将

我的数据集是

value
0.486903
0.520908
0.530904
0.483284
0.475935
0.502831
0.541743
0.566318
0.500073
0.510959
0.546008
0.551682
0.534396
0.501554
0.541277
我想替换我的数据集中的这些值,请提供pyhton代码以满足要求

类别: 0.470000-0.500000=1,0.500001-0.530000=2,0.530001-0.56000=3

请说明如何将修改后的数据写入csv文件

使用。由于样本数据中的值
0.566318
,因此,对于小于
0.47
和大于
0.56
的值,还添加了另外两组

bins = [-np.inf, .47, 0.5, .53, .56, np.inf]
labels=[0,1,2,3,4]
df['label'] = pd.cut(df['value'], bins=bins, labels=labels)
print (df)
       value label
0   0.486903     1
1   0.520908     2
2   0.530904     3
3   0.483284     1
4   0.475935     1
5   0.502831     2
6   0.541743     3
7   0.566318     4
8   0.500073     2
9   0.510959     2
10  0.546008     3
11  0.551682     3
12  0.534396     3
13  0.501554     2
14  0.541277     3
Numpy解决方案:

bins = [-np.inf, .47, 0.5, .53, .56, np.inf]
df['label'] = np.array(bins).searchsorted(df['value']) - 1
print (df)
       value  label
0   0.486903      1
1   0.520908      2
2   0.530904      3
3   0.483284      1
4   0.475935      1
5   0.502831      2
6   0.541743      3
7   0.566318      4
8   0.500073      2
9   0.510959      2
10  0.546008      3
11  0.551682      3
12  0.534396      3
13  0.501554      2
14  0.541277      3
最后一次写入csv的人:


我重新打开这个问题是因为
+-inf
剪切
,然后将
转换为\u csv
。我试图找到dupe,但没有成功。这是同样的事情,但有标签,下次请在使用徽章重新打开之前进行讨论。您还可以向关闭的用户发出如下警告:@Zero@cᴏʟᴅsᴘᴇᴇᴅ - 我没有收到你评论的通知。那么你认为这是一样的吗?我正在寻找
pd.cut
到_csv
的人,但没有成功。我想这是半个骗局。“你怎么看?”耶斯雷尔重要的事情是pd·卡特,答案是。为了保存到CSV,这是一个谷歌搜索/基本知识,任何人都可以在任何地方找到。。。它不必是100%的重复,只要它超过50%(这是90%的重复),它是好的,非常感谢…这是我一直在寻找的水!
df.to_csv('myfile', index=False)