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

这是输出:



这适用于具有浮点值或文本值的列。



顺便说一句,fileRead 只是另一个将 CSV 读取到数据帧的文件。
df = pd.read_csv(path)

最佳答案

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

例如:1L + 2 = 3L

此外,而不是做:

unique = pd.unique(df[field])

试试这个
unique = df.drop_duplicates('field')

关于python pandas数据帧唯一值将 'L'附加到数据值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31023010/

10-12 16:53
查看更多