我有一个df
包含列的数据框['metric_type', 'metric_value']
.对于每一行,我想确保我有一个名称等于的列,该列'metric_type'
的值等于'metric_value'
.
我的一个问题是'metric_type'
我想要摆脱虚假的空间.
考虑数据帧df
:
df = pd.DataFrame([
['a ', 1],
[' b', 2],
[' c ', 3]
], columns=['metric_type', 'metric_value'])
print(df)
metric_type metric_value
0 a 1
1 b 2
2 c 3
Run Code Online (Sandbox Code Playgroud)
请注意,每个值'metric_type'
都有不同位置的空格.
我创建了一个使用的功能,apply
但需要花费很长时间.
def assign_metric_vals(row):
row[row['metric_type'].replace(" ", "")] = row['metric_value']
return row
Run Code Online (Sandbox Code Playgroud)
当我使用它时,我得到这个:
a b c metric_type metric_value
0 1.0000 nan nan a 1
1 nan 2.00 nan b 2
2 nan nan …
Run Code Online (Sandbox Code Playgroud) 我目前使用 Mac。我最近创建了一个新的 python 虚拟环境并安装了 jupyter。当我在虚拟环境中激活 jupyter notebook 时,它说找不到任何 python 内核。我有另一个虚拟环境,它也安装了 jupyter,它运行得非常好。任何人都可以帮忙吗?另外,我不确定内核在我的机器上的位置。Library/Jupyter 只有一个运行时文件夹。
我已经研究过这个话题,并决定在这里问,因为我似乎找不到任何东西。我将在下面解释:
上下文:带有客户端填写并发布到服务器的表单的 Flask 应用程序。表单输入用于创建查询和返回数据。
我目前正在使用 SQLalchemy 从头开始构建查询。至此,我已经成功连接到我现有的 Redshift 数据库并且可以正常查询,但我无法弄清楚如何Select x, y, z
根据用户的表单输入动态构建一个简单的语句。
主要问题是Query()
无法接收列的python 列表。似乎您必须指定每个列,例如table.c.column1
哪些列不适用于动态查询,因为在用户提交表单之前我不知道我想要哪些列。
到目前为止我的 2 个想法:
Query.add_columns(table.c['colname'])
select([col1, col2, ...])
代替Query()
load_columns()
仅加载表中的特定列进行查询。不幸的是似乎只适用于模型对象而不适用于反射表,除非我弄错了这两者在我看来都是倒退的,因为它们并没有真正有效地实现我的目标。
我很难弄清楚这个正则表达式模式究竟是在寻找什么,主要是由于最后的数字.据我所知,它是在搜索任何不是az的字符,并为整个字符串重复它.3做了什么?
[^a-z.+3]
Run Code Online (Sandbox Code Playgroud)
谢谢!