【发布时间】:2021-10-17 01:54:15
【问题描述】:
您好,我对 Python 还是很陌生,对编程不太适应。
我的相关数据如下所示:
| Specimen | Fam_Genus |
|---|---|
| 1 | A |
| 2 | B |
| 3 | F |
| 4 | G |
| 5 | U |
| 6 | A |
| 7 | B |
| 8 | D |
只有大约 4000 个样本。 由于数据较旧,因此该属不符合现代标准,因为其中许多现在是家庭属的下层阶级。
因此,我希望能够创建一个新行,其中基于 Family Genius 数据显示新 Genius。
喜欢:
| Specimen | Fam_Genus | Modern Genus |
|---|---|---|
| 1 | A | A |
| 2 | B | B |
| 3 | F | C |
| 4 | G | C |
| 5 | U | A |
| 6 | A | A |
| 7 | B | B |
| 8 | D | C |
我试过了:
df["Modern_Genus"] = ""
data['Modern_Genus'] = np.where(data.Fam_Genus.str.contains("A"), "A")
但我得到了这个错误:ValueError:应该给出 x 和 y 两者或都不给出
从我在网上找到的,这似乎是最好的方法,但正如我所说,我是 python 新手,尤其是 numpy 和 panda。 那么关于我做错了什么有什么想法或建议吗?
【问题讨论】:
标签: python pandas dataframe numpy csv