成像我有一系列看起来像这样:
Out[64]:
2 0
3 1
80 1
83 1
84 2
85 2
如何在本系列的开头添加一个项目?本机pandas.Series.append函数只会附加在最后。
非常感谢
答案 0 :(得分:7)
有一个pandas.concat
功能......
import pandas as pd
a = pd.Series([2,3,4])
pd.concat([pd.Series([1]), a])
答案 1 :(得分:1)
使用concat或append,结果系列将具有重复的索引:
表示concat():
import pandas as pd
a = pd.Series([2,3,4])
pd.concat([pd.Series([1]), a])
Out[143]:
0 1
0 2
1 3
2 4
和append():
import pandas as pd
a = pd.Series([2,3,4])
a.append(pd.Series([1]))
Out[149]:
0 2
1 3
2 4
0 1
这可能是将来的问题,因为[0](如果将结果分配给a)将为两种情况返回两个值。
我的解决方案就是这样:
import pandas as pd
a = pd.Series([2,3,4])
b = [1]
b[1:] = a
pd.Series(b)
Out[199]:
0 1
1 2
2 3
3 4
或者,通过使用concat()重新索引:
import pandas as pd
a = pd.Series([2,3,4])
a.index = a.index + 1
pd.concat([pd.Series([1]), a])
Out[208]:
0 1
1 2
2 3
3 4
答案 2 :(得分:0)
同样,你可以使用追加系列的列表或元组(只要你使用pandas版本.13或更高版本)
import pandas as pd
a = pd.Series([2,3,4])
pd.Series.append((pd.Series([1]), a))
答案 3 :(得分:0)
如果您需要在不同系列b
前面添加一个值,说出它的最后一个值,那么这对我有用:
import pandas as pd
a = pd.Series([2, 3, 4])
b = pd.Series([0, 1])
pd.concat([b[-1:], a])