我有此代码
data['A'].loc[data['A']>30] = 'high'
为我工作。但是当我使用
data['A'].loc[data['A']<30] = 'low'
弹出错误消息
'<' not supported between instances of 'str' and 'int'
我想在同一大熊猫列中将'high'
的值设置为大于30,将'low'
的值设置为小于30。
答案 0 :(得分:3)
使用 nginx.ingress.kubernetes.io/auth-url: "https://example.com/oauth2/auth"
nginx.ingress.kubernetes.io/auth-signin: "https://example.com/oauth2/start?rd=/redirect/$http_host$request_uri"
代替手动方法:
pd.cut
示例:
pd.cut(data['A'], [float('-inf'), 30, float('inf')], labels=['low', 'high'])
输出:
s = pd.Series([-10, 40, 70, 60, 20])
pd.cut(s, [float('-inf'), 30, float('inf')], labels=['low', 'high'])
答案 1 :(得分:1)
当您编写此行时:
for i in range(10):
dic[i] = dict()
for j in range(10):
dic[i][j] = list()
您将data['A'].loc[data['A']>30] = 'high'
列转换为类型A
的列,其中包含object
和int
当您写第二行时
str
大熊猫遍历完整的一列(包括将其值更新为data['A'].loc[data['A']<30] = 'low'
的{{1}})
最好的方法是使用 gmds 中提到的>30
。
您还可以创建第二列,然后将其放在最后。
'high'
这不是最优雅的解决方案,但它可行