2024-05-14 06:51:32 发布
网友
想象一下我有一个系列像这样:
Out[64]: 2 0 3 1 80 1 83 1 84 2 85 2
如何在本系列的开头添加项目?原生pandas.Series.append函数只在末尾追加。
非常感谢
有一个pandas.concat函数。。。
pandas.concat
import pandas as pd a = pd.Series([2,3,4]) pd.concat([pd.Series([1]), a])
请参阅Merge, Join, and Concatenate documentation。
使用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
这在将来可能是一个问题,因为a[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
类似地,您可以将append与序列的列表或元组一起使用(只要您使用的是pandas版本.13或更高版本)
import pandas as pd a = pd.Series([2,3,4]) pd.Series.append((pd.Series([1]), a))
有一个
pandas.concat
函数。。。请参阅Merge, Join, and Concatenate documentation。
使用concat或append,生成的序列将具有重复的索引:
对于concat():
对于append():
这在将来可能是一个问题,因为a[0]在任何情况下(如果将结果赋给a)都将返回两个值。
我的解决方案是:
或者,使用concat()重新编制索引:
类似地,您可以将append与序列的列表或元组一起使用(只要您使用的是pandas版本.13或更高版本)
相关问题 更多 >
编程相关推荐