I have an original dataframe og_df
and a sublist dataframe, which is a part of the og_df
. I want to create a new dataframe new_df
which contains the elements of og_df
and every n
following elements in the og_df
.
Example:
og_df = pd.DataFrame({'column': range(20)})
sub_df = pd.DataFrame({'column': [ 1, 2, 10 ]})
n = 3
new_df = pd.DataFrame({'column':[]})
for index in sub_df.index:
new_df = pd.concat([new_frame, og_df.iloc[index:index + n]])
print(new_df)
>>> column
0 1
1 2
2 3
1 2
2 3
3 4
11 10
12 11
13 12
这是我想要的方式,并给出了预期的结果.然而,当og_df
有多列,我使用[..]
操作符,或者如果它有一列,我使用[..]
操作符,它的行为是这样的:
for index in sub_df.index:
new_df = pd.concat([new_frame, og_df['column'].iloc[index:index + n]])
print(new_df)
>>> column 0
1 NaN 1.0
2 NaN 2.0
3 NaN 3.0
2 NaN 2.0
3 NaN 3.0
4 NaN 4.0
10 NaN 10.0
11 NaN 11.0
12 NaN 12.0
我怎样才能让它像你想要的那样运行呢?我的目标是从多列og_df
中 Select 一列,这就是我使用[..]
操作符的原因.