【发布时间】:2022-01-06 00:55:23
【问题描述】:
n_level = range(1, steps + 2)
steps 是用户输入,使用多索引数据框
df = {'crest': [754, 755, 762, 785], 'trough': [752, 725, 759, 765], 'L1T': [761, 761, 761, 761], 'L2T': [772, 772, 772, 772], 'L3T': [783, 783, 783, 783], 'L4T': [794, 794, 794, 794], 'L1M': [740, 740, 740, 740], 'L2M': [729, 729, 729, 729], 'L3M': [718, 718, 718, 718], 'L4T': [707, 707, 707, 707]}
for i in n_level:
if df['Crest'] >= df[f'L{i}T']:
df['Marker'] = i
elif df['Trough'] <= df[f'L{i}M']:
df['Marker'] = -i
else:
df['Marker'] = 0
我期待带有 col 标记的 df 下方
df = {'crest': [754, 755, 762, 785], 'trough': [752, 725, 759, 765], 'L1T': [761, 761, 761, 761], 'L2T': [772, 772, 772, 772], 'L3T': [783, 783, 783, 783], 'L4T': [794, 794, 794, 794], 'L1M': [740, 740, 740, 740], 'L2M': [729, 729, 729, 729], 'L3M': [718, 718, 718, 718], 'L4T': [707, 707, 707, 707], 'Marker': [0, -2, 1, 3]},
if 语句返回 True 或 False,使用它我们可以将其转换为第 i 个值 (+/-)
我需要的是另一个 col df['Marker'],它将测量波峰或波谷是否越过 L{i}T 或 L{i}M,在波峰和突破的情况下,任何上行突破低谷时的不利影响
【问题讨论】:
-
您好,请提供minimal reproducible example。如果没有样本可重复的输入和预期的输出,很难理解和帮助您。
-
请将您的部分数据作为字典包含在内,图像很难处理。
-
您的
df是字典,而不是数据框。我在代码中没有看到任何 pandas 对象
标签: pandas data-science python-3.7 physics