python - Pandas 中的 ALTER COLUMN 等效项
问题描述
当我在 SQL 中工作时,我发现我对列所做的几乎所有事情都与以下四个操作有关:
- 添加一列。
- 删除一列。
- 更改列类型。
在 pandas 中执行这三个 DML 操作的首选方法是什么?例如,假设我从以下 DataFrame 开始:
import pandas as pd
df = pd.DataFrame([
{'product': 'drink', 'brand': 'spindrift', 'id': '19'},
{'product': 'cup', 'brand': None, 'id': '11'}
])
我将如何:
- 将
df.id
列从字符串(或object
如其所说)更改为int64
? - 将列重命名
product
为product_type
? - 添加一个名为“成本”的新列,其中包含值
[2.99, 3.99]
? - 删除名为
brand
?
解决方案
您可以像这样执行这些步骤(从原始数据框开始):
# add a column
df = pd.concat([df, pd.Series([2.99, 3.99], name='cost')], axis=1)
# change column name
df = df.rename(columns={'product': 'product_type'})
# remove brand
df = df.drop(columns='brand')
# change data type
df['id'] = df['id'].astype('int')
print(df)
product_type id cost
0 drink 19 2.99
1 cup 11 3.99
推荐阅读
- c++ - 致命错误 LNK1104:无法打开文件 'sfml-system-sd.lib'
- c# - 如果在 Using 块的末尾没有调用 TransactionScope.Complete,事务会发生什么
- java - 线程“主”java.lang.NoClassDefFoundError 中的异常:Swagger 响应验证器中的 com/fasterxml/jackson/core/FormatFeature
- html - Safari没有加载我的styles.min.css
- javascript - Highchart - 点击时显示/隐藏数据标签
- python - Pytest:测试运行后如何显示生成的报告?
- php - 在 PHP 中计算总小时数和分钟数
- angular - 如何自定义角度文件上传器
- json - 将 JSON 对象转换为特定的 CSV 格式
- c# - C# - 如何使用 HTTPRedirect 绑定签署 SAML 请求