我如何从 python 中的列中取出特定月份

How can i take specific Months out from a Column in python

我有一个数据框,其中有一列 'mon/yr',其中以 Jun/19、Jan/22 等格式存储月份和年份

我只想从该列中提取这些 - ['Jul/19'、'Oct/19'、'Jan/20'、'Apr/20'、'Jul/20'、'Oct/20','Jan/21','Apr/21','Jul/21','Oct/21','Jan/22'] 并将它们放入一个名为 'dates' 的变量中,这样我就可以用它来绘制

我的代码不起作用 -

dates = df["mon/yr"] == ['Jul/19','Oct/19','Jan/20','Apr/20','Jul/20', 'Oct/20','Jan/21','Apr/21','Jul/21','Oct/21','Jan/22']

这是python代码

这是筛选行的方法

df.loc[df['column_name'].isin(some_values)]

使用您的 dates 列表,如果我们只想提取 'Jul/20' 和 'Oct/20' 我们可以这样做:

import pandas as pd

df = pd.DataFrame(['Jul/19','Oct/19','Jan/20','Apr/20','Jul/20','Oct/20','Jan/21','Apr/21','Jul/21','Oct/21','Jan/22'], columns = ['dates'])

mydates = ['Jul/20','Oct/20']

df.loc[df['dates'].isin(mydates)]

产生:

    dates
4  Jul/20
5  Oct/20

因此,对于您的实际用例,假设 df 是一个 pandas 数据框,并且 mon/yr 是列的名称,您可以这样做:

dates = df.loc[df['mon/yr'].isin(['Jul/19','Oct/19','Jan/20','Apr/20','Jul/20','Oct/20','Jan/21','Apr/21','Jul/21','Oct/21','Jan/22'])]