我试图使用iloc
将DataFrame df2列中的每第二个值填充到DataFrame df1列中,但是,我在结果中获得了替代NULL值。我如何得到连续值没有NULL值?
例如:
df1 = pd.DataFrame({'col1': [1, 2, 3, 4], 'col2': list('ABCD')})
df2 = pd.DataFrame({'col1': [2, 4, 6, 8, 10, 12, 14, 16]})
df1.col1 = df2.iloc[::2]
输出:
| col1 | col2 |
| -------- | -------------- |
| 2 | A |
| NULL | B |
| 6 | C |
| NULL | D |
预期输出:
| col1 | col2 |
| -------- | -------------- |
| 2 | A |
| 6 | B |
| 8 | C |
| 10 | D |
将Series
转换为列表,它应该为您工作,同样:
df1.col1 = df2.iloc[::2].tolist()
输出:
| col1 | col2 |
| -------- | -------------- |
| 2 | A |
| 6 | B |
| 8 | C |
| 10 | D |
你可以这样做:
df2.iloc[::2, :]
这将给你:
col1
0 2
2 6
4 10
6 14