【发布时间】:2022-01-20 15:17:52
【问题描述】:
我有一个看起来像这样的数据框,我想通过将key 列拆分为_ 作为分隔符来创建 5 个额外的列
key value
VALUETIME
2021-12-17 11:00:00 BE_G_av_211214170724_a 5312.0
2021-12-17 12:00:00 BE_G_av_211214170724_a 5312.0
2021-12-17 13:00:00 BE_G_av_211214170724_a 5312.0
2021-12-17 14:00:00 BE_G_av_211214170724_a 5312.0
2021-12-17 15:00:00 BE_G_av_211214170724_a 5312.0
... ...
2022-02-15 06:00:00 NL_G_gen_211205212740_a 3804.0
2022-02-15 07:00:00 NL_G_gen_211205212740_a 5260.0
2022-02-15 08:00:00 NL_G_gen_211205212740_a 6043.0
2022-02-15 09:00:00 NL_G_gen_211205212740_a 6184.0
我尝试了以下所有方法
df_a_ccgt_m_fc_long[['test1', 'test2', 'test3', 'test4', 'test5']] = df_a_ccgt_m_fc_long['key'].str.split('_')
df_a_ccgt_m_fc_long[['test1', 'test2', 'test3', 'test4', 'test5']] = df_a_ccgt_m_fc_long['key'].str.split(pat = '_')
但两者都给了我相同的回溯:
Traceback (most recent call last):
File "C:\Users\AppData\Roaming\Python\Python37\site-packages\pandas\core\indexing.py", line 1712, in _setitem_with_indexer_split_path
"Must have equal len keys and value "
ValueError: Must have equal len keys and value when setting with an iterable
【问题讨论】: