Python 如何通过为第3列中的每个值赋值来扩展数据帧
假设我有一个数据帧:Python 如何通过为第3列中的每个值赋值来扩展数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,假设我有一个数据帧: index day 0 21 1 2 2 7 我想给每一天分配3个值:0,1,2最后数据框应该是这样的: index day value 0 21 0 1 21 1 2 21 2 3 2 0 4 2 1 5 2 2 6 7 0 7
index day
0 21
1 2
2 7
我想给每一天分配3个值:0,1,2最后数据框应该是这样的:
index day value
0 21 0
1 21 1
2 21 2
3 2 0
4 2 1
5 2 2
6 7 0
7 7 1
8 7 2
有人知道吗?您可以引入一个包含
(0,1,2)
-元组的列,然后分解该列上的数据帧:
将熊猫作为pd导入
df=pd.DataFrame({'day':[21,2,7]})
df['value']=[(0,1,2)]*len(df)
df=df.explode('值')
df.index=范围(len(df))
打印(df)
您可以引入一个包含(0,1,2)
-元组的列,然后分解该列上的数据帧:
将熊猫作为pd导入
df=pd.DataFrame({'day':[21,2,7]})
df['value']=[(0,1,2)]*len(df)
df=df.explode('值')
df.index=范围(len(df))
打印(df)
尝试:
N=3
df=df.assign(value=[range(N)for uuu in range(len(df)))。分解(“value”)
打印(df)
印刷品:
索引日值
0 0 21 0
0 0 21 1
0 0 21 2
1 1 2 0
1 1 2 1
1 1 2 2
2 2 7 0
2 2 7 1
2 2 7 2
试试:
N=3
df=df.assign(value=[range(N)for uuu in range(len(df)))。分解(“value”)
打印(df)
印刷品:
索引日值
0 0 21 0
0 0 21 1
0 0 21 2
1 1 2 0
1 1 2 1
1 1 2 2
2 2 7 0
2 2 7 1
2 2 7 2
A选项:
df
:
value day
0 0 21
1 1 21
2 2 21
3 0 2
4 1 2
5 2 2
6 0 7
7 1 7
8 2 7
一个选择:
df
:
value day
0 0 21
1 1 21
2 2 21
3 0 2
4 1 2
5 2 2
6 0 7
7 1 7
8 2 7
value day
0 0 21
1 1 21
2 2 21
3 0 2
4 1 2
5 2 2
6 0 7
7 1 7
8 2 7