我想在数据框中切两列。
这是我执行此操作的代码:
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[0],inplace=True)
我也尝试过:
df.columns = df.iloc[1]
df=df.reindex(df.index.drop(0))
也在此link
以上均未解决问题。
答案 0 :(得分:3)
通过您发布的打印,看来您有空白作为定界符。 MissingContractAttachments
将使用pd.read_csv
作为默认分隔符进行读取,因此您必须明确声明它:
,
答案 1 :(得分:1)
只需编写代码即可创建新的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')
答案 2 :(得分:0)
您可以尝试这样做:
pd.read_csv('source.txt',header=0, delim_whitespace=True)
如果数据中有任何空格,则会出现错误,因此包含delim_whitespace
可以删除那些在数据中的空格。