我是熊猫新手 .
我想在pandas数据帧 df 中添加一个新列,并为每个奇数行分配"Start",为每个偶数行分配"Stop" .
df
但是,当我执行 df.iloc[1::2, :] = "Start" 时,我在每个第二个位置插入一个新行,每列都有"Start"字符串 .
df.iloc[1::2, :] = "Start"
我知道在这种情况下,pandas不知道在哪个列中放置“Start”-string .
但是,我无法弄清楚正确的语法 .
这是我的解决方案 - 没有想出优化部分,但是给出了一个相当大的数据集,这应该很好地处理它 -
import pandas as pd df = pd.read_csv('temp.csv') df['New_Col'] = "Start" df.loc[1::2,"New_Col"] = "Stop" print df['New_Col']
输出 -
0 Start 1 Stop 2 Start 3 Stop 4 Start 5 Stop 6 Start 7 Stop 8 Start 9 Stop 10 Start 11 Stop 12 Start 13 Stop 14 Start 15 Stop 16 Start 17 Stop 18 Start 19 Stop 20 Start 21 Stop 22 Start 23 Stop 24 Start 25 Stop 26 Start 27 Stop 28 Start 29 Stop ... 116 Start 117 Stop 118 Start 119 Stop 120 Start 121 Stop 122 Start 123 Stop 124 Start 125 Stop 126 Start 127 Stop 128 Start 129 Stop 130 Start 131 Stop 132 Start 133 Stop 134 Start 135 Stop 136 Start 137 Stop 138 Start 139 Stop 140 Start 141 Stop 142 Start 143 Stop 144 Start 145 Stop Name: New_Col, dtype: object
1 回答
这是我的解决方案 - 没有想出优化部分,但是给出了一个相当大的数据集,这应该很好地处理它 -
输出 -