Python 将多行合并为单行-合并
我有一个dataframe,它包含8行dict值。我想用逗号将所有行合并成一行。因为我的数据帧包含dict值,所以我得到了一个错误。可以将dict值合并到一行吗 我有一个如下所示的数据帧Python 将多行合并为单行-合并,python,pandas,Python,Pandas,我有一个dataframe,它包含8行dict值。我想用逗号将所有行合并成一行。因为我的数据帧包含dict值,所以我得到了一个错误。可以将dict值合并到一行吗 我有一个如下所示的数据帧 names names1 0 {'name':'Ashwin'} {'name':'prem'} 1 {'name':'Alex'} {'name':'Naga'} 我希望它是,
names names1
0 {'name':'Ashwin'} {'name':'prem'}
1 {'name':'Alex'} {'name':'Naga'}
我希望它是,
名字
0{'name':'Ashwin'},{'name':'Alex'}{'name':'prem'},{'name':'Naga'}
请注意:数据类型不应更改为dict
提前感谢将列转换为列表并调用
数据帧
构造函数:
df = pd.DataFrame({'names': [df['names'].tolist()]})
print (df)
names
0 [{'name': 'Ashwin', 'age': '26'}, {'name': 'Al...
如果值是字符串并且需要字典列表:
import ast
df = pd.DataFrame({'names': [df['names'].apply(ast.literal_eval).tolist()]})
print (df)
names
0 [{'name': 'Ashwin', 'age': '26'}, {'name': 'Al...
您可以尝试:
df_new=df.apply(','.join).reset_index(drop=True).rename('name')
假设您只需要一个字符串值,则可以使用
'.join()
作为聚合函数:
pd.DataFrame(df.agg(lambda x: ','.join(x.astype(str)))).T
它给出:
names
0 {'name': 'Ashwin', 'age': '26'},{'name': 'Alex...
是
names
columnstr
还是dict
valued@QuangHoang-列类型为str