我想在我的数据框中分割两列。
这是我的代码::
import pandas as pd
df = pd.read_csv('source.txt',header=0)
cidf=df.loc[:,['vocab','sumCI']]
print(cidf)
这是一个数据示例:
ID vocab sumCI sumnextCI new_diff
450 statu 3.0 0.0 3.0
391 provid 4.0 1.0 3.0
382 prescript 3.0 0.0 3.0
300 lymphoma 2.0 0.0 2.0
405 renew 2.0 0.0 2.0
**首先我得到了这个错误:**
KeyError: “None of [['', '']] are in the [columns]”'
我尝试过的东西:
header
与index 0
放在一起,df.rename(columns=df.iloc,inplace=True)
df=df.reindex(df.index.drop(0))
中尝试了df.columns = df.iloc1注释
上述方法均未解决问题。
发布于 2018-08-23 09:08:28
根据您发布的打印,您似乎使用空格作为分隔符。pd.read_csv
将使用,
作为默认分隔符进行读取,因此您必须明确声明:
pd.read_csv('source.txt',header=0, delim_whitespace=True)
发布于 2019-06-25 15:52:50
只需编写代码即可创建新的CSV文件并使用新文件
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
pd.read_csv('source.txt',header=0, delim_whitespace=True)
headers = ['ID','vocab','sumCI','sumnextCI','new_diff']
df.columns = headers
df.to_csv('newsource.txt')
发布于 2021-11-04 21:05:28
也许你有空格包围你的列名,仔细检查你的csv文件
https://stackoverflow.com/questions/51976930
复制相似问题