python-3.x - Python pandas DataFrame 列插入调用

标签 python-3.x pandas dataframe insert

我有一个简单的 txt 文件,我正在按如下方式读取它:

data=pd.read_csv("data1.txt",sep=',', header = None)
data.columns=['X1', 'Y']

当我打印这个时,我得到:-

       X1        Y
0      6.1101  17.5920
1      5.5277   9.1302
2      8.5186  13.6620
3      7.0032  11.8540
4      5.8598   6.8233

现在我想在 X1 前面(左侧)插入一个列 X0 并将该列的值设置为 1。所以我添加了以下代码:-

data = data.insert(0,'X0',1)    
print(type(data))
print(len(data))

但我收到以下错误消息:-

<class 'NoneType'>
TypeError: object of type 'NoneType' has no len()

问题是,我的 data.insert 正确吗?为什么该类型的数据帧是 NoneType。我在这里做错了什么?

最佳答案

您可以使用分配,而不是使用就地操作的insert

data = data.assign(X0=1)[['X0'] + data.columns.tolist()]
print(data)

   X0      X1        Y
0   1  6.1101  17.5920
1   1  5.5277   9.1302
2   1  8.5186  13.6620
3   1  7.0032  11.8540
4   1  5.8598   6.8233

关于python-3.x - Python pandas DataFrame 列插入调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42154169/

相关文章:

django - 如何使用自定义表单更新 django auth 用户

python - 使用 Pandas read_html 时遇到问题

python - pandas 数据透视表,通过多列的差异创建表

python - 使用 `pandas.cut()` ,我如何获得整数分箱并避免获得负的最低限度?

python - 在带有日期的python中有条件地删除行

python - Python 3 中的不可变字典 : how to make keys(), items() 和 values() 字典 View 不可变

python-3.x - 数组的列求和 - 两种方法,两种不同的结果

python main函数不返回数据框

python - gekko 中的模类型约束

python - 将行与数据帧 pandas 中的下一行合并