Python 在不更改其他列数据的情况下在pandas中使用reindex

Python 在不更改其他列数据的情况下在pandas中使用reindex,python,pandas,reindex,Python,Pandas,Reindex,这是我的代码,我试图将数据帧的索引值更改为数据帧中存在的日期 将熊猫作为pd导入 x={ ‘日期’:[‘1998年9月24日’、‘1999年1月26日’、‘1999年8月28日’、‘1999年9月11日’], ‘名称’:[‘A’、‘B’、‘C’、‘D’], “标记”:[5,8,5,9], ‘城市’:[‘Rjy’、‘Nzmbd’、‘Kurnool’、‘Srk’]} df=pd.DataFrame(x) df['Dates']=pd.to_datetime(df['Dates']) dt=df[“日

这是我的代码,我试图将数据帧的索引值更改为数据帧中存在的日期

将熊猫作为pd导入
x={
‘日期’:[‘1998年9月24日’、‘1999年1月26日’、‘1999年8月28日’、‘1999年9月11日’],
‘名称’:[‘A’、‘B’、‘C’、‘D’],
“标记”:[5,8,5,9],
‘城市’:[‘Rjy’、‘Nzmbd’、‘Kurnool’、‘Srk’]}
df=pd.DataFrame(x)
df['Dates']=pd.to_datetime(df['Dates'])
dt=df[“日期”]
idx=pd.DatetimeIndex(dt)
df=df.reindex(idx)
打印(df)
我得到的输出数据帧是,

日期名称标记城市
1998-01-01纳南
1998-01-02纳南
1998-01-03纳南
1998-01-04纳南
1998-01-05纳南

我应该在代码中更改哪些内容,以便我的数据不会更改为NaN或NaT?

我会这样做:

x = {

'Dates':['24/09/1998', '26/01/1999', '28/08/1999', '11/09/1999'],
'Names': ['A', "B", 'C', 'D'],
'Marks': [5, 8, 5, 9],
'City': ['Rjy', 'Nzmbd', 'Kurnool', 'Srk']}
df = pd.DataFrame(x)


df = df.set_index('Dates')
df.index = pd.to_datetime(df.index)

print(df)
print('\n')
df.info()
输出:

           Names  Marks     City
Dates                           
1998-09-24     A      5      Rjy
1999-01-26     B      8    Nzmbd
1999-08-28     C      5  Kurnool
1999-11-09     D      9      Srk

<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 4 entries, 1998-09-24 to 1999-11-09
Data columns (total 3 columns):
Names    4 non-null object
Marks    4 non-null int64
City     4 non-null object
dtypes: int64(1), object(2)
memory usage: 128.0+ bytes
命名标志城市
日期
1998-09-24 A 5 Rjy
1999-01-26 B 8新西兰元
1999-08-28 C 5 Kurnool
1999-11-09 D 9 Srk
日期时间索引:4个条目,1998-09-24至1999-11-09
数据列(共3列):
名称4非空对象
标记4非空int64
城市4非空对象
数据类型:int64(1),对象(2)
内存使用:128.0+字节

我会这样做:

x = {

'Dates':['24/09/1998', '26/01/1999', '28/08/1999', '11/09/1999'],
'Names': ['A', "B", 'C', 'D'],
'Marks': [5, 8, 5, 9],
'City': ['Rjy', 'Nzmbd', 'Kurnool', 'Srk']}
df = pd.DataFrame(x)


df = df.set_index('Dates')
df.index = pd.to_datetime(df.index)

print(df)
print('\n')
df.info()
输出:

           Names  Marks     City
Dates                           
1998-09-24     A      5      Rjy
1999-01-26     B      8    Nzmbd
1999-08-28     C      5  Kurnool
1999-11-09     D      9      Srk

<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 4 entries, 1998-09-24 to 1999-11-09
Data columns (total 3 columns):
Names    4 non-null object
Marks    4 non-null int64
City     4 non-null object
dtypes: int64(1), object(2)
memory usage: 128.0+ bytes
命名标志城市
日期
1998-09-24 A 5 Rjy
1999-01-26 B 8新西兰元
1999-08-28 C 5 Kurnool
1999-11-09 D 9 Srk
日期时间索引:4个条目,1998-09-24至1999-11-09
数据列(共3列):
名称4非空对象
标记4非空int64
城市4非空对象
数据类型:int64(1),对象(2)
内存使用:128.0+字节
您可以尝试以下方法:

[1]中的

##设置数据帧
x={
‘日期’:[‘1998年9月24日’、‘1999年1月26日’、‘1999年8月28日’、‘1999年9月11日’],
‘名称’:[‘A’、‘B’、‘C’、‘D’],
“标记”:[5,8,5,9],
‘城市’:[‘Rjy’、‘Nzmbd’、‘Kurnool’、‘Srk’]
}
df=pd.DataFrame(x)
df['Dates']=pd.to_datetime(df['Dates'])
#更改索引
df=df.set_索引(“日期”)
df
出[1]:
名胜古迹
日期
1998-09-24 A 5 Rjy
1999-01-26 B 8新西兰元
1999-08-28 C 5 Kurnool
1999-11-09 D 9 Srk
您可以尝试以下方法:

[1]中的

##设置数据帧
x={
‘日期’:[‘1998年9月24日’、‘1999年1月26日’、‘1999年8月28日’、‘1999年9月11日’],
‘名称’:[‘A’、‘B’、‘C’、‘D’],
“标记”:[5,8,5,9],
‘城市’:[‘Rjy’、‘Nzmbd’、‘Kurnool’、‘Srk’]
}
df=pd.DataFrame(x)
df['Dates']=pd.to_datetime(df['Dates'])
#更改索引
df=df.set_索引(“日期”)
df
出[1]:
名胜古迹
日期
1998-09-24 A 5 Rjy
1999-01-26 B 8新西兰元
1999-08-28 C 5 Kurnool
1999-11-09 D 9 Srk
df.set\u index('date',inplace=True)df.set\u index('date',inplace=True)