Python 具有特定参数的多字符串选择

Python 具有特定参数的多字符串选择,python,pandas,Python,Pandas,我正在尝试对一列日期进行多重选择和修改。对于其他应用程序,日期转换为字符串。 现在我想使用df.loc[]选择1900年的所有日期。 日期的格式为mm/dd/yyyy(仍然是字符串tho) 因此,我尝试: df.loc[df['Trade Date'][-4:]=='1900']=1 引发此错误: IndexingError('提供了不可对齐的布尔系列键') pandas.core.indexing.IndexingError:提供了不可对齐的布尔系列键 可能吗? 或者我必须使用df.get_

我正在尝试对一列日期进行多重选择和修改。对于其他应用程序,日期转换为字符串。 现在我想使用
df.loc[]
选择1900年的所有日期。 日期的格式为mm/dd/yyyy(仍然是字符串tho)
因此,我尝试:

df.loc[df['Trade Date'][-4:]=='1900']=1
引发此错误:

IndexingError('提供了不可对齐的布尔系列键') pandas.core.indexing.IndexingError:提供了不可对齐的布尔系列键

可能吗?
或者我必须使用
df.get_value()进行迭代吗?

看起来您想要对字符串进行切片,要执行此操作,请使用
.str

df.loc[df['Trade Date'].str[-4:]=='1900']=1
根据您的实际意图,转换为datetime可能更有意义:

df['Trade Date'] = pd.to_datetime(df['Trade Date'])
然后你可以做:

df.loc[df['Trade Date'].dt.year == 1900]=1

使用datetime更有意义,因为数字运算只会起作用,而将数据保留为字符串并不容易使用

try
df.loc[df['Trade Date'].str[-4:][='1900']=1
Genius!thx EdChumI将使用字符串,我只是在进行比较以对数据进行分类OK,您可以接受我的答案如果它解决了您的问题,我的答案左上角将有一个空勾号,谢谢!我知道它是如何工作的我正在等待时间限制结束时接受答案