我正在尝试将读取的.csv文件搜索到数据框中,在其中搜索包含字符串' DSCRPT'的数据。并将其移动到另一个数据框,然后合并它们,以便我有两列。 到目前为止我有这个:
import csv
import pandas as pd
data = pd.read_csv('ctgs_list_ETS3.2.csv', 'r', encoding='utf-8')
data.rename(columns={0:'ID'}, inplace=True)
word = 'DSCRPT'
data1 = df.loc[data['ID'].str.contains(word, case=False)]
data1
但此时它崩溃了,我收到以下错误:
KeyError:' ID' 错误:迭代器应该返回字符串,而不是字节(你是否在文本模式下打开文件?)
任何帮助都会很棒。
编辑:
df = pd.read_csv(' ctgs_list_ETS3.2.csv',encoding =' utf-8')
df1 = df.iloc[:3000, :]
df2 = df.iloc[3000:, :]
df3 = pd.merge(df1, df2, left_index=True, right_index=True, how='outer')
df3
但是我得到的数据框看起来像这样:
__________________ Id_x___Id_y
27 ^ ID_CTG(28)=' INC2MAY1' NaN
28 ^ ID_CTG(29)=' INC2MAY2' NaN
29 ^ ID_CTG(30)=' INC2PB_1' NaN
... ......
5970 NaN ^ DSCRPT_CTG(2971)=' '
5971 NaN ^ DSCRPT_CTG(2972)=' '
5972 NaN ^ DSCRPT_CTG(2973)=' '
如何摆脱NaN值?