Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pandas:仅从列中提取行的月-日值_Python_Pandas_Dataframe - Fatal编程技术网

Python pandas:仅从列中提取行的月-日值

Python pandas:仅从列中提取行的月-日值,python,pandas,dataframe,Python,Pandas,Dataframe,我想为我的数据绘制一个折线图,但是由于长日期格式(Y-M-D),x轴变得非常紧密,我检查了“日期”的数据类型,它返回: In[200]: df['date'].dtypes Out[200]: dtype('O') 因此,我的“日期”值为: date ---- 2020-04-12 2020-05-13 2020-02-02 但我只想提取月份和日期,使列看起来像 date ---- 04-12 05-13 02-02 我该怎么做?由于我的数据类型是“O”,所以我找不到任何类似的东西,因此我

我想为我的数据绘制一个折线图,但是由于长日期格式(Y-M-D),x轴变得非常紧密,我检查了“日期”的数据类型,它返回:

In[200]: df['date'].dtypes
Out[200]: dtype('O')
因此,我的“日期”值为:

date
----
2020-04-12
2020-05-13
2020-02-02
但我只想提取月份和日期,使列看起来像

date
----
04-12
05-13
02-02
我该怎么做?由于我的数据类型是“O”,所以我找不到任何类似的东西,因此我为重复表示歉意。感谢所有的帮助

通过索引使用并选择第二个列表
str[1]

df['date'] = df['date'].str.split('-', n=1).str[1]
#if dates objects
#df['date'] = df['date'].astype(str).str.split('-', n=1).str[1]
print (df)
    date
0  04-12
1  05-13
2  02-02
或通过以下方式转换为日期时间:


它工作正常,但在底部我收到一个错误,它是
:3:SettingWithCopyWarning:试图在数据帧切片的副本上设置一个值。尝试使用.loc[row_indexer,col_indexer]=value来代替
@xsmith-此错误意味着在我的解决方案之前有一些筛选,是否可能在
df['date']=…
之前发布代码?@xsmith-需要
.copy()
如果某些筛选器类似于
df=df[df.a>10]。copy()
没关系,这是由于冗余变量xD引起的。很抱歉造成混淆!
df['date'] = pd.to_datetime(df['date']).dt.strftime('%m-%d')