我需要用一些组替换我的 DataFrame 中的列中的值
Posted
技术标签:
【中文标题】我需要用一些组替换我的 DataFrame 中的列中的值【英文标题】:I need to replace the values in the columns in my DataFrame with some groups 【发布时间】:2018-05-29 16:55:32 【问题描述】:问题表述
目前,df['B']
的值范围为 0 到 16。我希望将它们替换为如下:
S where df['B'] <= 2
M where 2 < df['B'] <= 6
L where df['B'] >= 6
数据帧
A B
5180 2
5784 0
5784 16
7269 4
7268 12
期望的输出
A B 5180 S 5784 S 5784 L 7269 M 7268 L
是否有 pandas 功能可以做到这一点?
【问题讨论】:
我们需要样本数据 How to create new values in a pandas dataframe column based on values from another column的可能重复 我们至少需要 1 个问题 @Shiven Singh 这是一个基本的分箱操作,上面的链接答案会有所帮助 【参考方案1】:我假设您的数据框的名称是 df
。
df['B'] = pd.cut(df['B'], bins = [0, 3, 7, 17], labels=["S", "M", "L"])
分箱意味着:
for range [0,3) we use label[0] ('S') for range [3,7) we use label[1] ('M') for range [7,17) we use label[2] ('L')
【讨论】:
以上是关于我需要用一些组替换我的 DataFrame 中的列中的值的主要内容,如果未能解决你的问题,请参考以下文章
为啥我不能从我的 DataFrame 中的“日期”列中提取月份的列? [复制]