在Python中使用panda,导入和导出CSV文件
类型列中的数据类型将从原始CSV导入数据帧,数据类型为int64
为了实现这一点,基于原始CSV的Type列中的数值,相应的类型(textstring)将被添加到Newtype列中。此查找将使用字典按以下方式进行:
如果类型等于1,则CSV中的这一“行”将在导出的CSV(代码末尾)中与其相邻的列(名为Newtype)中的同一行中分配文本字符串“NameOne”
import pandas as pd
import csv
df = pd.read_csv("import.csv", names=["A", "B", "Month", "Day", "Time", "Type"])
df['Newtype'] = df['Type']
dictio = {1:'NameOne', 2:'NameTwo', 3:'NameThree', 4:'NameFour', 5:'NameFive'}
df['Newtype'] = df['Newtype'].apply(lambda x: dictio[x])
df.to_csv("export.csv", encoding='utf-8')
但是,运行此代码时返回一个错误,错误为:
KeyError: 0
对于代码中的以下行返回上述错误:
df['Newtype'] = df['Newtype'].apply(lambda x: dictio[x])
我怀疑有问题的代码行如下所示,但我看不出应该如何正确地修改它,有什么建议吗
df['Newtype'] = df['Type']
你把dict命名为dictio,那么我们只需要
map
这里(或者replace
)相关问题 更多 >
编程相关推荐