小编Dom*_*m B的帖子

如何基于另一列的值在pandas dataframe列中创建新值

我有一个pandas数据帧,我从csv文件读入的值.我有一个标有'SleepQuality'的列,值从0.0到100.0浮动.我想创建一个标记为'SleepQualityGroup'的新列,其中原始列btw 0 - 49中的值在新列中的值为0,50 - 59 = 1,60 - 69 = 2,70 - 79 = 3,80 - 89 = 4,而90 - 100 = 5

为了做到这一点,最好的配方是什么?我坚持识别每个范围中所有值并分配给新值所需的逻辑.

下面在新的"SleepQualityGroup"列中输出结果的示例.

SleepQuality    SleepQualityGroup
80.4              4
90.1              5
66.4              2
50.3              1
86.2              4
75.4              3
45.7              0
91.5              5
61.3              2 
54                1
58.2              1
Run Code Online (Sandbox Code Playgroud)

python numpy dataframe pandas

7
推荐指数
2
解决办法
470
查看次数

如何在 Pandas 数据框列中搜索特定文本?

我想识别包含特定列文本的 Pandas csv 文件中的所有实例,在本例中为“注释”列,其中提到了“练习”一词。一旦在“Notes”列中识别出包含“excercise”关键字的行,我想创建一个名为“ExcerciseDay”的新列,如果满足“excercise”条件则为 1,否则为 0 . 我遇到了麻烦,因为文本可以在“注释”列中包含长字符串值(即“锻炼、早晨锻炼、消耗的酒精、消耗的咖啡”),我仍然希望它识别“锻炼”,即使它在更长的时间内细绳。

我尝试了下面的功能,以识别“注释”列中包含“锻炼”一词的所有文本。使用此函数时未选择任何行,我知道这可能是因为 * 运算符,但我想显示逻辑。可能有一种更有效的方法来做到这一点,但我对编程和 python 仍然比较陌生。

def IdentifyExercise(row):
    if row['Notes'] == '*exercise*':
        return 1
    elif row['Notes'] != '*exercise*':
        return 0


JoinedTables['ExerciseDay'] = JoinedTables.apply(lambda row : IdentifyExercise(row), axis=1) 
Run Code Online (Sandbox Code Playgroud)

python string dataframe pandas

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

在pandas数据框中选择遵循特定模式的行

我有一个csv文件,我读入了pandas数据帧.有两个特定的列,'Notes'和'ActivityType',我想用作标准.如果'Notes'列包含字符串值'Morning exercise'或'Morning exercise'和/或'ActivityType'列包含任何字符串值(大多数单元格为空,我不想计算Null值),那么make一个新列'MorningExercise'并在满足任一条件时插入1,如果不满足则插入0.

我一直在使用下面的代码创建一个新列,如果在'Notes'列中满足文本条件,则插入1或0,但如果'ActivityType'列包含任何内容,我还没想出如何包含1字符串值.

JoinedTables['MorningExercise'] = JoinedTables['Notes'].str.contains(('Morning workout' or 'Morning exercise'), case=False, na=False).astype(int)
Run Code Online (Sandbox Code Playgroud)

对于'ActivityType'列,我认为使用该pd.notnull()函数作为批评.

我真的只需要在python中查看是否连续满足任一条件,如果是,则在新列中输入1或0.

python regex string dataframe pandas

2
推荐指数
1
解决办法
332
查看次数

标签 统计

dataframe ×3

pandas ×3

python ×3

string ×2

numpy ×1

regex ×1