回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我试图在一个数据帧中用数字替换python对象的所有字母。你知道吗</p>
<p>示例:我有一列3000个课程代码,例如A0101P。我试图用相应的数字(a=1,B=2等)替换课程代码中的所有字母,因此输出看起来像“1010116”(最重要的是,是一个整数,而不是对象/字符串)</p>
<p>课程代码最初是一个python对象。所以我用了</p>
<pre class="lang-py prettyprint-override"><code>course.to_string()
</code></pre>
<p>将其更改为字符串值。你知道吗</p>
<p>然后,我创建了一个映射,然后使用结构更换替换值。你知道吗</p>
<pre class="lang-py prettyprint-override"><code>mapping = {"A": 1, "B": 2, "C": 3, "D": 4, "E": 5, "F": 6, "G": 7, "H": 8, "I": 9, "J": 10, "K": 11, "L": 12, "M": 13, "N": 14, "O": 15, "P": 16, "Q":17,"R":18, "S": 19, "T": 20,"U": 21, "V": 22, "W": 23, "X": 24, "Y": 25, "Z":26}
courseDone = course.str.replace(course["Cursus code"], mapping)
</code></pre>
<p>这会引起一个错误</p>
<pre class="lang-py prettyprint-override"><code>AttributeError: 'str' object has no attribute 'str'
</code></pre>
<p>我也试过了</p>
<pre class="lang-py prettyprint-override"><code>for key, value in mapping.items():
course = course.replace(key, value)
</code></pre>
<p>这就产生了错误</p>
<pre class="lang-py prettyprint-override"><code>TypeError: replace() argument 2 must be str, not int
</code></pre>
<p>即使数据类型是字符串。你知道吗</p>
<p>示例数据:</p>
<pre class="lang-py prettyprint-override"><code>1 A0101P
2 A0111P
3 A0200P
4 A0201P
5 A0202P
</code></pre>
<p>期望输出:</p>
<pre class="lang-py prettyprint-override"><code>1 1010116
2 1011116
3 1020016
4 1020116
5 1020216
</code></pre>
<p>我也尝试过用str()更改数据类型,结果错误是一样的。你知道吗</p>
<p>当我使用</p>
<pre class="lang-py prettyprint-override"><code>for key, value in mapping.items():
course["Cursus code"] = course["Cursus code"].replace(key, value)
</code></pre>
<p>我没有收到错误,但输出保持不变。你知道吗</p>
<p>我是python的新手,我已经尽了最大努力找到了一个解决方案,但似乎什么都不管用。
有人能帮我吗?你知道吗</p>