如何修复 pandas 数据框中的数据类型错误 float 和 str
How to fix Datatype error float and str in pandas dataframe
in pandas DataFrame 我想创建一个条件列。如果 a 大于 b,则新列标志将为 1,否则为 0
我在下面使用,但出现 TypeError: '>' not supported between instances of 'float' and 'str'
df['flag'] = df['a'] > df['b'], 1, 0
我该如何解决这个错误?
A
b
flag
24.43048
22
1
29.0
0
0
0
70.2323
70
1
39.0
0
1
0
0
数据:
df = pd.read_csv(StringIO(d)).replace(np.nan,'').astype(str)
df
df.dtypes
输出:
计算标志:
for i,x in df.iterrows():
try:
df.loc[i,'Flag'] = 1 if float(x[0]) > float(x[1]) else 0
except ValueError:
df.loc[i,'Flag'] = 0
df
df.dtypes
in pandas DataFrame 我想创建一个条件列。如果 a 大于 b,则新列标志将为 1,否则为 0
我在下面使用,但出现 TypeError: '>' not supported between instances of 'float' and 'str'
df['flag'] = df['a'] > df['b'], 1, 0
我该如何解决这个错误?
A | b | flag |
---|---|---|
24.43048 | 22 | 1 |
29.0 | 0 | |
0 | 0 | |
70.2323 | 70 | 1 |
39.0 | 0 | 1 |
0 | 0 |
数据:
df = pd.read_csv(StringIO(d)).replace(np.nan,'').astype(str)
df
df.dtypes
输出:
计算标志:
for i,x in df.iterrows():
try:
df.loc[i,'Flag'] = 1 if float(x[0]) > float(x[1]) else 0
except ValueError:
df.loc[i,'Flag'] = 0
df
df.dtypes