所以我是编程新手,刚开始使用pandas。
以下是我的数据框的特定列(称为类别)的值列表。如何删除","所以它变得像一个正常的列表,看起来像:
0 ['Doctors','Health & Medical']
1 ['Restaurant']
而不是如下所示。请帮忙。
0 [,u,',D,o,c,t,o,r,s,',,, ,u,',H,e,a,l,t,h, ,&,...
1 [,u,',R,e,s,t,a,u,r,a,n,t,s,',]
2 [,u,',A,m,e,r,i,c,a,n, ,(,T,r,a,d,i,t,i,o,n,a,...
3 [,u,',F,o,o,d,',,, ,u,',I,c,e, ,C,r,e,a,m, ,&,...
4 [,u,',C,h,i,n,e,s,e,',,, ,u,',R,e,s,t,a,u,r,a,...
答案 0 :(得分:1)
如果您不一定需要将JSON转换为csv,则可以从JSON本身加载数据。
import pandas as pd
dframe = pd.json_read(json_dumped_as_string)
希望有所帮助! .. :))
答案 1 :(得分:0)
我不太明白你的问题。这就是我得到的:
mylist = [['Doctors','Health & Medical'], ['Restaurant']]
pandas.Series(mylist)
输出:
0 [Doctors, Health & Medical]
1 [Restaurant]
dtype: object
答案 2 :(得分:0)
根据我的理解你的问题,这就是你要做的事情:
你有一个以逗号分隔的字符串列表的DataFrame。
import pandas as pd
df = pd.DataFrame({
"list_col" : ["Doctors,Health & Medical", "Restaurant"]
})
现在您可以使用pandas
字符串操作工具进行拆分:
col_of_lists = df.list_col.str.split(",")
之后,您可以通过各种方式访问列表项,例如:
col_of_lists[0][1]
将访问单个项目: - > 'Health & Medical'
col_of_lists.str[0]
将创建一个新列,其中只包含每个列表的第一个元素,如果没有第一个元素,则为NAN
。
0 [Doctors]
1 [Restaurant]
Name: list_col, dtype: object
由于您没有提出具体问题,因此很难给出准确答案。
答案 3 :(得分:0)
看起来您想要转换像这样的数据框中的行
s = pd.DataFrame(["[,u,',R,e,s,t,a,u,r,a,n,t,s,',, ,u,',D,o,c,t,o,r,s,',,,,,, ,,u,',F,o,o,d,']"], columns=['categories'])
单词列出行。
我的解决方案:
import re
t = s['categories'].apply(lambda k: re.findall(r"u\'(.+?)\'", k.replace(',','')))
>>> 0 [Restaurants, Doctors, Food]
Name: value, dtype: object