pandas按照某一列的倒数8个字符按日期格式排序
时间: 2023-10-26 11:11:55 浏览: 36
假设你有一个名为`df`的pandas DataFrame,其中包含一个名为`date_str`的列,其值为字符串类型。你可以按照以下步骤进行排序:
1. 将`date_str`列转换为日期类型,并将其设置为新的`date`列:
```python
df['date'] = pd.to_datetime(df['date_str'].str[-8:])
```
2. 按照新的`date`列进行排序:
```python
df = df.sort_values('date')
```
完整代码如下:
```python
import pandas as pd
# 创建样例数据
data = {'date_str': ['20220101', '20210201', '20210301', '20210401']}
df = pd.DataFrame(data)
# 将date_str列转换为日期类型并设置为新的date列
df['date'] = pd.to_datetime(df['date_str'].str[-8:])
# 按照新的date列进行排序
df = df.sort_values('date')
print(df)
```
输出结果如下:
```
date_str date
0 20220101 2022-01-01
1 20210201 2021-02-01
2 20210301 2021-03-01
3 20210401 2021-04-01
```
相关问题
pandas 按照某一列排序
你可以使用 Pandas 中的 `sort_values()` 方法来按照某一列对 DataFrame 进行排序。以下是一个示例:
```python
import pandas as pd
# 创建一个示例 DataFrame
data = {'Name': ['John', 'Emma', 'Alex', 'Jessica'],
'Age': [28, 24, 32, 29],
'Salary': [50000, 60000, 55000, 45000]}
df = pd.DataFrame(data)
# 按照 'Salary' 列进行升序排序
df_sorted = df.sort_values('Salary')
print(df_sorted)
```
这将按照 'Salary' 列的值对 DataFrame 进行升序排序,并输出排序后的结果。你可以根据自己的需求选择要排序的列。
pandas按照某一列排序
可以使用 `sort_values()` 方法按照某一列排序。假设有一个名为 `df` 的 DataFrame,需要按照其中的一列 `col_name` 进行升序排序,可以使用以下代码:
```python
df.sort_values(by='col_name', inplace=True)
```
其中,`by` 参数指定要排序的列名;`inplace=True` 表示在原 DataFrame 上进行修改,如果不设置该参数,则会返回一个新的已排序的 DataFrame。
如果需要按照多个列排序,可以传递一个列名列表作为 `by` 参数,例如:
```python
df.sort_values(by=['col1', 'col2'], inplace=True)
```
这将首先按照 `col1` 进行排序,然后在每个 `col1` 分组内按照 `col2` 进行排序。