天天看点

python类型转换字符,Python / Pandas - 将类型从熊猫转换为字符串

python类型转换字符,Python / Pandas - 将类型从熊猫转换为字符串

I have a DataFrame:

Seasonal

Date

2014-12 -1.089744

2015-01 -0.283654

2015-02 0.158974

2015-03 0.461538

I used a pd.to_period in the DataFrame, so its index has turned into a Pandas period type (type 'pandas._period.Period').

Now, I want to turn that index to strings. I'm trying to apply the following:

df.index=df.index.astype(str)

However that doesn't work...

ValueError: Cannot cast PeriodIndex to dtype |S0

My code has been frozen since then.

S.O.S.

解决方案

You can use to_series and then convert to string:

print df

# Seasonal

#Date

#2014-12 -1.089744

#2015-01 -0.283654

#2015-02 0.158974

#2015-03 0.461538

print df.index

#PeriodIndex(['2014-12', '2015-01', '2015-02', '2015-03'],

# dtype='int64', name=u'Date', freq='M')

df.index=df.index.to_series().astype(str)

print df

# Seasonal

#Date

#2014-12 -1.089744

#2015-01 -0.283654

#2015-02 0.158974

#2015-03 0.461538

print df.index

#Index([u'2014-12', u'2015-01', u'2015-02', u'2015-03'], dtype='object', name=u'Date')