我有一个pandas数据框,对于这样的一列有不同的格式
Name | Values |
---|---|
First | 5-9 |
Second | 7 |
Third | - |
Fourth | 12-16 |
我需要迭代所有值列,如果格式类似于第一行5-9
或第四行12-16
,则将其替换为字符串中2个数字之间的平均值.
我试过了
if df["Value"].str.len() > 1:
df["Value"] = df["Value"].str.split('-')
df["Value"] = (df["Value"][0] + df["Value"][1]) / 2
elif df["Value"].str.len() == 1:
df["Value"] = df["Value"].str.replace('-', 0)
Expected output
Name | Values |
---|---|
First | 7 |
Second | 7 |
Third | 0 |
Fourth | 14 |