我正在运行一个python文件作为CGI,它正在将CSV读入pandas数据帧。问题是当我尝试获得只有整数值的列的唯一值时,我得到一个额外的“L”附加到数据值。
这是代码。
def Main():
formData = cgi.FieldStorage()
fileName = str(formData.getvalue('file'))
field = str(formData.getvalue('field'))
df = fileRead.readFile(fileName)
unique = pd.unique(df[field])
print unique.tolist()
这是输出:
[1L,2L,3L,4L,5L,6L,7L,8L,9L,10L,11L,12L,13L,14L,15L, 16L,17L,18L,19L,20L,21L,22L,23L,24L,25L,26L,27L,28L]
这适用于具有浮点值或文本值的列。
[25.9,29.5,27.9,29.9,30.9,28.9,84.9,82.9,35.9,31.5,31.0, 30.0,36.9,41.9,40.5,43.9,37.5,37.9,44.5,38.9,45.8,41.0]
BTW,fileRead只是另一个将CSV读取到数据帧的文件。
df = pd.read_csv(path)
答案 0 :(得分:4)
这里“L”指的是“长”。除了占用更多内存之外,它不应该影响你的代码。
示例:1L + 2 = 3L
此外,而不是:
unique = pd.unique(df[field])
试试这个
unique = df.drop_duplicates('field')