我是熊猫的新手。
我想在pandas数据帧df
中添加一个新列,并为每个奇数行分配“开始”,并为每个偶数行分配“停止”。
但是,当我执行df.iloc[1::2, :] = "Start"
时,我会在每个第二个位置插入一个新行,并在每列中添加“开始”字符串。
我知道在这种情况下,pandas不知道在哪个列中放置“Start”-string。
但是,我无法弄清楚正确的语法。
答案 0 :(得分:4)
这是我的解决方案 - Haven没有找到优化部分但是给出了一个相当大的数据集,这应该能很好地处理它 -
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