Python 使用值筛选所有数据帧>;=-一,<;=-1,并将该值添加到另一个数组中
我想知道如何解决这个问题。给定一个数据帧,我想创建一个数组,获取-1到1之间的所有值,只是值,我不关心日期或索引 代码如下:Python 使用值筛选所有数据帧>;=-一,<;=-1,并将该值添加到另一个数组中,python,pandas,dataframe,Python,Pandas,Dataframe,我想知道如何解决这个问题。给定一个数据帧,我想创建一个数组,获取-1到1之间的所有值,只是值,我不关心日期或索引 代码如下: import pandas as pd import numpy as np import random data = [[round(random.uniform(1,100),2) for i in range(7)] for i in range(10)] header = [['Lunes', 'Martes', 'Miércoles', 'Jueves','Vi
import pandas as pd
import numpy as np
import random
data = [[round(random.uniform(1,100),2) for i in range(7)] for i in range(10)]
header = [['Lunes', 'Martes', 'Miércoles', 'Jueves','Viernes', 'Sábado','Domingo']]
df = pd.DataFrame(data, columns = header)
mean = df.mean()
std = df.std()
df_normalizado = (df-mean)/std
Lunes Martes Miércoles Jueves Viernes Sábado Domingo
0 -0.250799 1.001706 -0.491738 0.444629 -0.296997 -0.670781 -1.554641
1 -0.868792 -0.100689 -0.359056 1.282681 1.352212 1.176829 -1.374482
2 -0.614918 1.187862 1.398010 1.037513 -1.149555 -0.834707 0.143520
3 -0.319758 1.113691 -0.719597 -1.392089 -0.591716 0.943564 -1.163994
4 -0.718137 -1.300041 1.267097 -0.797168 0.053323 1.187264 0.078008
5 -0.883286 -0.821076 -0.671478 1.268079 0.002583 -0.897651 1.096177
6 1.933040 -0.534570 -1.142057 -0.262689 1.417233 0.851335 0.780141
7 -0.433957 -0.575776 1.406855 0.248020 -1.113399 -0.178332 0.497165
8 1.357213 -1.070254 -0.882708 -1.133679 -0.863344 -1.613941 0.491402
9 0.799394 1.099147 0.194671 -0.695298 1.189661 0.036420 1.006704
澄清:
多谢各位。社区 Python提供了查询功能。
我希望这将有助于解决您的问题
df.query("Lunes >= -1 and Lunes <= 1 and
Martes >= -1 and Martes <= 1 and
Miércoles >= -1 and Miércoles <= 1 and
Jueves >= -1 and Jueves <= 1 and
Viernes >= -1 and Viernes <= 1 and
Sábado >= -1 and Sábado <= 1 and
Domingo >= -1 and Domingo <=1")
df.query(“Lunes>=-1和Lunes=-1和Martes=-1和Miércoles=-1和Jueves=-1和Viernes=-1和Sábado=-1和Domingo因为只需要一个数组,所以从数据帧抓取并使用普通的:
a=df.values
打印(a[(-1)请重复并从“演示如何解决此编码问题”不是堆栈溢出问题。我们希望您做出诚实的尝试,然后询问有关您的算法或技术的特定问题。堆栈溢出不是为了替换现有的文档和教程。您只是用随机值填充数据框:这是一个简单的研究问题,而不是堆栈溢出问题。请做好准备cise。你想隐藏或隐藏什么?预期的结果是什么?你能把你的df代码放在它的代码编辑器上,这样任何人都可以复制/粘贴它吗?谢谢@LaurentB的建议。这篇文章用我的代码更新了。我想要一个新数组,只包含原始数据帧-1和1之间的值。谢谢!但它为我返回了这个:SyntaxError:Python关键字在numexpr查询中不是有效标识符。谢谢!我不知道为什么,但在我的df中,它返回一个真-假值数组。您的输出是我的目标!您将布尔索引传递回a
正确吗?它是a[布尔索引]
其中布尔索引是(-1就是这样,我没有将数据帧值放在另一个变量中。非常感谢!@Henry Eckergood我能帮上忙!
[-0.250799 -0.491738 0.444629 -0.296997 -0.670781 -0.868792 -0.100689
-0.359056 -0.614918 -0.834707 0.14352 -0.319758 -0.719597 -0.591716
0.943564 -0.718137 -0.797168 0.053323 0.078008 -0.883286 -0.821076
-0.671478 0.002583 -0.897651 -0.53457 -0.262689 0.851335 0.780141
-0.433957 -0.575776 0.24802 -0.178332 0.497165 -0.882708 -0.863344
0.491402 0.799394 0.194671 -0.695298 0.03642 ]