Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在列中选择与瞬间t对应的值_Python_Pandas - Fatal编程技术网

Python 在列中选择与瞬间t对应的值

Python 在列中选择与瞬间t对应的值,python,pandas,Python,Pandas,我在Python中工作,我有一个熊猫数据框架,在不同的月份有不同的步骤: +----+-------+------+ | Id | Month | Step | +----+-------+------+ | a | 1 | a_1 | | a | 4 | a_2 | | a | 6 | a_3 | | b | 1 | a_1 | | b | 2 | a_4 | +----+-------+------+ 我想在如下表格中列出每个月对

我在Python中工作,我有一个熊猫数据框架,在不同的月份有不同的步骤:

+----+-------+------+
| Id | Month | Step |
+----+-------+------+
| a  |     1 | a_1  |
| a  |     4 | a_2  |
| a  |     6 | a_3  |
| b  |     1 | a_1  |
| b  |     2 | a_4  |
+----+-------+------+
我想在如下表格中列出每个月对应的步骤:

+----+---------+----------+---------+---------+---------+---------+
| Id | Month_1 |  Month_2 | Month_3 | Month_4 | Month_5 | Month_6 |
+----+---------+----------+---------+---------+---------+---------+
| a  | a_1     | a_1      | a_1     | a_2     | a_2     | a_3     |
| b  | a_1     | a_4      | a_4     | a_4     | a_4     | a_4     |
+----+---------+----------+---------+---------+---------+---------+
我找不到简单的解决方案,所以如果有人有解决方案,我就拿

使用:


如果你想在几个月内风靡一时 填充和使用:

new_df=( df.pivot_table(index='Id',columns='Month',values='Step',aggfunc=''.join)
         .reindex(columns=range(df['Month'].min(),df['Month'].max()+1))
         .ffill(axis=1)
         .add_prefix('Month_')
         .rename_axis(columns=None)
         .reset_index())
print(new_df)
  Id Month_1 Month_2 Month_3 Month_4 Month_5 Month_6
0  a     a_1     a_1     a_1     a_2     a_2     a_3
1  b     a_1     a_4     a_4     a_4     a_4     a_4


如果您不想填充,请删除
ffill

您没有采取最后一步:)-
.ffill(1)
之前添加前缀(“月”)
我不知道OP是否想要ffill。谢谢你的建议:)
new_df=( df.pivot_table(index='Id',columns='Month',values='Step',aggfunc=''.join)
         .reindex(columns=range(df['Month'].min(),df['Month'].max()+1))
         .ffill(axis=1)
         .add_prefix('Month_')
         .rename_axis(columns=None)
         .reset_index())
print(new_df)
  Id Month_1 Month_2 Month_3 Month_4 Month_5 Month_6
0  a     a_1     a_1     a_1     a_2     a_2     a_3
1  b     a_1     a_4     a_4     a_4     a_4     a_4