Python 多数据类型数据帧中的比较操作

Python 多数据类型数据帧中的比较操作,python,pandas,Python,Pandas,我有以下数据帧: df = pd.DataFrame({'a': [1, 2.5, 3, 'bad', 5], 'b': [0.1, 'good', 0.3, "ugly", 0.5], 'item': ['a', 'b', 'c', 'd', 'e']}) df = df.set_index('item') 如您所见,这些列包含数值和字符值的组合。我希望根据范围更改数值的值,例如: 00)和(a1)和(a2)和(a0

我有以下数据帧:

df = pd.DataFrame({'a': [1, 2.5, 3, 'bad', 5],
                   'b': [0.1, 'good', 0.3, "ugly", 0.5],
                   'item': ['a', 'b', 'c', 'd', 'e']})
df = df.set_index('item')
如您所见,这些列包含数值和字符值的组合。我希望根据范围更改数值的值,例如:


0
a=df.apply(pd.to_numeric,errors='concurve')

m1=(a>0)和(a1)和(a2)和(a0)和(a1)和(a2)和(a所有值,a列和b列?是的,azro!我希望对a列和b列中的所有数值进行比较。谢谢!在我的原始数据框中,我有大约400列。我希望在我的数据框的所有列中都执行此操作。很抱歉再次打扰您,但我有另一个快速问题!假设我的条件在另一个数据框中:df1=pd.DataFrame({'initial':[0,1,2],'end':[1,2,6],'stg':['good','bad','sugger]})。我如何循环通过此df1以获得相同的结果?再次提前感谢!非常感谢!!再次感谢您的输入!祝您度过愉快的一天!
a = df.apply(pd.to_numeric, errors='coerce')
m1 = (a > 0) & (a <= 1)
m2 = (a > 1) & (a <= 2)
m3 = (a > 2) & (a <= 6)

arr = np.select([m1, m2, m3], ['good','bad','ugly'], default=df)

df = pd.DataFrame(arr, index=df.index, columns=df.columns)
print (df)
         a     b
item            
a     good  good
b     ugly  good
c     ugly  good
d      bad  ugly
e     ugly  good
df1 = pd.DataFrame({'initial': [0,1,2], 'end': [1, 2, 6], 'stg': ['good', 'bad', 'ugly']})

a = df1.apply(pd.to_numeric, errors='coerce')
m1 = (a > 0) & (a <= 1)
m2 = (a > 1) & (a <= 2)
m3 = (a > 2) & (a <= 6)

arr = np.select([m1, m2, m3], ['good','bad','ugly'], default=df1)

df = pd.DataFrame(arr, index=df1.index, columns=df1.columns)
print (df)
  initial   end   stg
0       0  good  good
1    good   bad   bad
2     bad  ugly  ugly