Python 什么函数会更改“中的列类型?”;内联“;态度?
我知道以下命令有助于更改列类型:Python 什么函数会更改“中的列类型?”;内联“;态度?,python,pandas,Python,Pandas,我知道以下命令有助于更改列类型: df['date'] = str(df['date']) df['A'] = pd.to_datetime(df['A']) df['A'] = df.A.astype(np.datetime64) 但是,您知道一种更好的方法来以内联方式更改列类型,使其与其他聚合命令(如groupby、dropna等)一起位于一行中。例如: df\ #.function to cast df.A to np.datetime64 \ .groupby('C') \ .
df['date'] = str(df['date'])
df['A'] = pd.to_datetime(df['A'])
df['A'] = df.A.astype(np.datetime64)
但是,您知道一种更好的方法来以内联方式更改列类型,使其与其他聚合命令(如groupby、dropna等)一起位于一行中。例如:
df\
#.function to cast df.A to np.datetime64 \
.groupby('C') \
.apply(lambda x: x.set_index('A').resample('1M').sum())
您可以使用:
第一个示例可能不属于这里,因为它不会更改数据类型。此外,您可能希望检查以避免临时设置索引和使用重采样。请接受第一个示例。你是对的,后一个例子与重采样有关,因为它创建了新的索引,我正试图在新的中删除它..我很惊讶你这么快就发现了风险。。我确实把方法改成了pd.Grouper,现在效果非常好。这正是我想要的!谢谢你,艾翰!
df.assign(A=pd.to_datetime(df['A']))
df = pd.DataFrame({'A': ['20150101', '20140702'], 'B': [1, 2]})
df
Out:
A B
0 20150101 1
1 20140702 2
df.assign(A=pd.to_datetime(df['A']))
Out:
A B
0 2015-01-01 1
1 2014-07-02 2