【发布时间】:2021-12-20 04:49:51
【问题描述】:
我有以下示例数据:
| date | value | |
|---|---|---|
| 0 | 2021/05 | 50 |
| 1 | 2021/06 | 60 |
| 2 | 2021/07 | 70 |
| 3 | 2021/08 | 80 |
| 4 | 2021/09 | 90 |
| 5 | 2021/10 | 100 |
我想更新“日期”列中的数据,例如“2021/05”变为“05/10/2021”,“2021/06”变为“06/12/2021”等等(我必须为每一行手动选择新日期)。
有没有更好/更聪明的方法来代替:
for i in df.index:
if df['date'][i] == '2021/05':
df['date'][i] = '05/10/2021'
elif df['date'][i] == '2021/06':
df['date'][i] = '06/12/2021'
问题是有一百多行需要更新,上面的代码会非常长。
【问题讨论】:
-
您是否有某种数据结构或文件,其中包含需要更改哪些行?
-
你如何决定设置哪个月份:10、12、?
-
我正在做出这个选择。我拥有的数据不完整 - 它只包含年/月,所以我也必须手动分配日期。但问题是使用我给出的代码作为示例会太长(肯定超过 100 行)
-
试试applymap?
-
06/12/2021 是 6 月 12 日还是 12 月 6 日(根据您的数据)?
标签: python pandas for-loop if-statement time-series