python - 重新分配 Pandas DataFrame 列值
问题描述
我有一个日期时间格式不正确的 csv。我已经弄清楚如何将这些值转换为我需要的格式,但现在我需要将列中的所有值重新分配给新的转换值。
例如,我希望我可以在下面的 FOR 循环中放入一些东西,将值插入到正确位置的数据框中:
for i in df[df.columns[1]]:
t = pd.Timestamp(i)
short_date = t.date().strftime('%m/%d/%Y').lstrip('0')
# Insert back into dataframe?
一如既往,非常感谢您的帮助!
有问题的列的一部分:有问题的数据框的一部分:
Created Date
2019-02-27 22:55:16
2019-01-29 22:57:12
2018-11-29 00:13:31
2019-01-30 21:35:15
2018-12-20 21:14:45
2018-11-01 16:20:15
2019-04-11 16:38:07
2019-01-24 00:23:17
2018-12-21 19:30:10
2018-12-19 22:33:04
2018-11-07 19:54:19
2019-05-10 21:15:00
解决方案
用最简单但最有启发性的可能术语:
df = pd.DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
df
# x y
# 0 1 4
# 1 2 5
# 2 3 6
df[:] = df[:].astype(float)
df
# x y
# 0 1.0 4.0
# 1 2.0 5.0
# 2 3.0 6.0
让我们pandas
为您完成工作。
或者,仅针对一列:
df.x = df.x.astype(float)
df
# x y
# 0 1.0 4
# 1 2.0 5
# 2 3.0 6
当然,您将替换astype(float)
为.date().strftime('%m/%d/%Y').lstrip('0')
.
推荐阅读
- ansible - Ansible 将标准输出与变量进行比较
- java - Java - 读取文本文件并添加唯一 ID
- perl - 使用 CPAN 为 perl 安装 Tk 模块时遇到问题
- android - Android Studio Canary 4.1 内存设置
- python - 进程返回 0 (0x0) python
- r - For循环重命名许多对象的列名R
- javascript - 无法将 HTML 块推送到 android html 页面
- python - Choropleth 地图 - 没有颜色区分
- react-native - 如何禁用反应原生内部滚动视图?
- google-apps-script - 如何调用作为类方法的工作表函数