python pandas数据帧唯一值将'L'附加到数据值

时间:2015-06-24 09:38:17

标签: python pandas

我正在运行一个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)

1 个答案:

答案 0 :(得分:4)

这里“L”指的是“长”。除了占用更多内存之外,它不应该影响你的代码。

示例:1L + 2 = 3L

此外,而不是:

unique = pd.unique(df[field])

试试这个

unique = df.drop_duplicates('field')