如何将字符串添加到pandas dataframe列系列中的每个偶数行?

时间:2016-11-28 04:40:19

标签: python pandas indexing loc

我是熊猫的新手。

我想在pandas数据帧df中添加一个新列,并为每个奇数行分配“开始”,并为每个偶数行分配“停止”。

但是,当我执行df.iloc[1::2, :] = "Start"时,我会在每个第二个位置插入一个新行,并在每列中添加“开始”字符串。

我知道在这种情况下,pandas不知道在哪个列中放置“Start”-string。

但是,我无法弄清楚正确的语法。

1 个答案:

答案 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