python - 数据帧中的.map(str) 和.astype(str) 有什么区别

标签 python pandas dataframe

我有一个包含列名 col1 和 col2 的整数类型条目的数据框。我想将 col1 的条目与 col2 以及两者之间的“.”(点)一起加入。我搜索并发现添加了两列条目:

df['col'] = df['col1'].map(str) + df['col2'].map(str)

并添加一个点:

df['col'] = df['col1'].astype(str) + '.'

但是我想要这样的东西

df['col'] = each entries of df['col1'] + '.' + each entries of df['col2']

.map(str) 和 .astype(str) 有什么区别。这适合我的情况。

最佳答案

map 将获取原始列表的每个元素并应用函数或 lambda 表达式。在这种紧凑形式中,您的函数是 str()。它有更多的应用程序。例如,您可以编辑返回新列表的每个元素。这是可能的,因为 DataFrame 单元格可转换为字符串。

astype 是一个用于 DataFrames 的 Pandas 函数(以及用于 numpy 数组的 numpy),它将对象转换为指定的类型,因此在这里它几乎没有实际区别,除了它可能更高效,因为它是与多个调用相比,只需 1 个操作,并且它是在 Pandas 中本地定义的。计时来验证。需要注意的是:astype 强制转换以及 map 都会创建一个新对象,而不是改变现有对象。

关于python - 数据帧中的.map(str) 和.astype(str) 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50782934/

相关文章:

python - HTTP 错误 401 : Authorization Required while downloading a file from HTTPS website and saving it

python - 在 .csv 文件中读取时,我似乎无法指定列数据类型

python - 如何仅更改第一个 "Column name"pandas 的字体

R 将矢量内容添加到数据框索引

pandas - 计算数据帧中数字连续出现的次数

python - 创建 ASCII 艺术世界地图

python - JSON 值错误 : Expecting property name: line 1 column 2 (char 1)

python - 如何使用可选参数构建装饰器?

如果另一列包含特定字符串,Python Pandas 如何更新列

python - 'DataFrame' 对象没有属性 'as_matrix