- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我完全困惑为什么我在这段代码上收到 ValueError ;任何帮助表示赞赏。
我有一个名为 global_output 的数据框,其中包含两列:一列单词和一列对应的值。我想对值进行中值分割,并将单词分配到两个列表中(高列表和低列表),具体取决于它们是高于还是低于中值。
Word Ranking
0 shuttle 0.9075
1 flying 0.7750
2 flight 0.7250
3 trip 0.6775
4 transport 0.6250
5 escape 0.5850
6 trajectory 0.5250
7 departure 0.5175
8 arrival 0.5175
我执行此操作的代码如下:
split = global_output['Abstraction'].quantile([0.5])
high = []
low = []
for j in range(len(global_output)):
if global_output['Ranking'][j] > split:
low_clt.append(global_output['Word'][j])
else:
high.append(global_output['Word'][j])
但是,我不断收到此错误。
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
现在,我明白了该错误的含义:它表示我正在尝试评估具有多个值的系列,就好像它是单个值一样。尽管如此,我还是不明白如何做到
global_output['Ranking'][j]
当 j 从循环中获取整数值时,
无论如何都是不明确的。当我将其输入控制台时,它每次都会产生一个浮点值。我在这里缺少什么?
最佳答案
您正在与 arrays
合作,所以更好的是使用 boolean indexing
与 mask
和loc
用于选择列:
#if need column Abstraction, change it
split = global_output['Ranking'].quantile([0.5]).item()
print (split)
0.625
mask = global_output['Ranking'] <= split
print (mask)
0 False
1 False
2 False
3 False
4 True
5 True
6 True
7 True
8 True
Name: Ranking, dtype: bool
high = global_output.loc[~mask, 'Word'].tolist()
low = global_output.loc[mask, 'Word'].tolist()
print (high)
['shuttle', 'flying', 'flight', 'trip']
print (low)
['transport', 'escape', 'trajectory', 'departure', 'arrival']
<小时/>
您的解决方案也有效,只需要转换一项 Series
至scalar
通过item()
看来>
必须是<
:
split = global_output['Ranking'].quantile([0.5])
print (split)
0.5 0.625
Name: Ranking, dtype: float64
split = global_output['Ranking'].quantile([0.5]).item()
print (split)
0.625
你会得到 error
因为您比较一项Series
.
关于python - 为什么这个值变得不明确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42368369/
我在 android 代码中使用 asmack XMPP。我可以正常登录 XMPP 服务器,但是当我尝试创建新用户时出现问题。我想要实现的是: 以管理员身份登录。 创建一个新用户。 从管理员注销。 以
这是我的标记页面,其中有一个按钮可以从数据库中搜索数据并显示在网格中 这是我背后的代码 if (!IsPostBack) { LblInfo.Text = "Page Load
当我多次将相同的 float 值插入到我的集合中时,本应花费恒定时间的 x in s 检查变得非常慢。为什么? 时序x in s的输出: 0.06 microseconds 0.09 mi
我有一个小型聊天客户端,可以将所有历史记录存储在 sqlite 数据库中。当用户单击我的应用程序中的 history 选项卡时,我的应用程序会获取所有相关历史记录并将其显示在 QWebView 中。我
我是一名优秀的程序员,十分优秀!