data.loc[:, '消费时间'] = pd.to_datetime(data.loc[:, '消费时间'], format='%Y-%m-%d %H:%M', errors='coerce')优化代码
时间: 2023-06-25 18:01:47 浏览: 98
可以将代码优化为:
```python
data['消费时间'] = pd.to_datetime(data['消费时间'], format='%Y-%m-%d %H:%M', errors='coerce')
```
这样可以直接使用列名访问数据,代码更简洁。同时,`loc`方法在这里不是必需的,可以省略。
相关问题
data2.loc[:, '消费时间'] = pd.to_datetime(data2.loc[:, '消费时间'], format='%Y/%m/%d %H:%M', errors='coerce') df = data2.head(5)['消费时间'] print(df)修复异常报错:DeprecationWarning: In a future version, `df.iloc[:, i] = newvals` will attempt to set the values inplace instead of always setting a new array. To retain the old behavior, use either `df[df.columns[i]] = newvals` or, if columns are non-unique, `df.isetitem(i, newvals)` data2.loc[:,'消费时间'] = pd.to_datetime(data2.loc[:,'消费时间'],format='%Y/%m/%d %H:%M',errors='coerce')
这个警告是因为在未来的版本中,`df.iloc[:, i] = newvals` 将尝试原地设置值而不是始终设置新数组。为了保留旧行为,可以使用 `df[df.columns[i]] = newvals` 或者如果列是非唯一的,则使用 `df.isetitem(i, newvals)`。所以你可以尝试修改为 `data2.loc[:, '消费时间'] = pd.to_datetime(data2.loc[:, '消费时间'], format='%Y/%m/%d %H:%M', errors='coerce')`。
data3.loc[:,'进出时间'] = pd.to_datetime(data3.loc[:,'进出时间'],format='%Y/%m/%d %H:%M',errors='coerce') data3.head(3)['进出时间']优化代码
可以将代码进行简化,如下所示:
```python
data3['进出时间'] = pd.to_datetime(data3['进出时间'], format='%Y/%m/%d %H:%M', errors='coerce')
```
其中,`loc`可以省略,因为`[]`操作符已经可以直接定位到列。另外,`head(3)`可以省略,因为这里只是为了展示前三行数据,与代码优化无关。
阅读全文