擅长:python、mysql、java
<p>事实证明还有更好的方法。上面onepan的字典理解答案是好的,但是以随机顺序返回df索引和列。使用嵌套的<code>.apply()</code>可以以相同的速度完成相同的事情,并且不会改变行/列的顺序。关键是不要先为df的行和列命名,然后再填充值。相反,可以用另一种方法来做,首先将未来的索引和列作为独立的pandas系列来处理。在</p>
<pre><code>series_rows = pd.Series(['afghijklde', 'afghijklmde', 'ade', 'afghilmde', 'amde'])
series_cols = pd.Series(['ae', 'azde', 'afgle', 'arlde', 'afghijklbcmde'])
df = pd.DataFrame(series_rows.apply(lambda x: series_cols.apply(lambda y: edit_distance(x, y))))
df.index = series_rows
df.columns = series_cols
</code></pre>