我有以下问题:我构造了一个带有整数列名和句点索引的 DataFrame。现在,如果我使用以下函数重命名列:
df.rename(columns = lambda x: str(x), inplace=True)
因此,我将列的类型转换为字符串,我观察到以下奇怪的行为:在操作之前,如果我从框架中检索一列,我得到了一个系列。现在,在某些列上,我获得了一个 DataFrame:以前df.loc[:,1]
给出了一个系列:
现在,df.loc[:,'1']
给出一个长度为 0 的 PeriodIndex 和 df 的完整原始列的 DataFrame。
有人知道我做错了什么还是偶然发现了一个错误?
这是一个重现错误(?)的代码片段:
A = pd.DataFrame(dict(zip(range(0,9000), [pd.Series([1,2,3], [pd.Period(1), pd.Period(2), pd.Period(3)]) for x in range(0,9000)])))
A[5000]
A.rename(columns = lambda x: str(x), inplace=True)
A['5000'] # This should return a DataFrame with a zero-PeriodIndex and the full columns!
非常感谢您,并向马克致以最诚挚的问候