python-3.x - python循环的问题
问题描述
我遇到了我想要的循环问题:查看 DF 行中的值是否大于列表中的值 b。如果是,则将变量名和列表中的值连接为字符串 c。如果不是,则通过直到满足循环条件。
这是我尝试过的。
import pandas as pd
import numpy as np
df = {'level': ['21', '22', '23', '24', '25', '26', '27', '28', '29', '30']
, 'variable':'age'}
df = pd.DataFrame.from_dict(df)
knots = [0, 25]
df.assign(key = np.nan)
for knot in knots:
if df['key'].items == np.nan:
if df['level'].astype('int') > knot:
df['key'] = df['variable']+"_"+knot.astype('str')
else:
pass
else:
pass
但是,这只会使key
列具有 NaN 值。我不确定为什么它没有放置连接。
解决方案
您可以在 for 循环中执行类似的操作。不需要任何 if 条件:
df.loc[df['level'].astype('int') > 25, 'key'] = df.loc[df['level'].astype('int') > 25, 'variable'] + '_' + df.loc[df['level'].astype('int') > 25, 'level']
推荐阅读
- r - 运行线性回归模型方程的 REML 代码错误
- php - 在 PHP 中,我想在我的数据库日期列(时间戳类型)中按日期过滤我的数据
- acumatica - 如何在表单文本控件中启用超链接?
- swift - 将坐标(来自 UIViewController)添加到常量文件
- php - CodeIgniter 获取登录用户的会话数据
- php - 如何在php中重命名和保存文件
- python - 我正在尝试使用 openCV 和 python 构建运动检测器,但是当我终止程序时显示窗口没有响应
- azure-devops - 如何从 Azure DevOps 导出报告
- javascript - this.setState() 在 this.setState() 的回调中
- c - 制作并应用 apue.h