Сначала при необходимости преобразуйте значения в список словарей с помощью ast.literal_eval
, затем используйте словарное понимание с конструктором DataFrame
и concat
и в последний раз используйте DataFrame.join
для добавления оригинал:
import ast
#df['Details'] = df['Details'].apply(ast.literal_eval)
df1 = (pd.concat({k: pd.DataFrame(v) for k, v in df.pop('Details').items()})
.reset_index(level=1, drop=True))
df = df.join(df1, rsuffix='_').reset_index(drop=True)
print (df)
order_id user_id amount id
0 5c7c9 A 160 p2
1 5c7c9 A 260 p3
2 5c5c4 B 10 p1
3 5c5c4 B 260 p3
Вы ссылаетесь на сборки, а не на пространства имен. Вы должны использовать MSDN, чтобы найти имя сборки, которая содержит классы, которые вам нужно использовать: в этом случае это будет:
var cp = new CompilerParameters();
cp.ReferencedAssemblies.Add("System.Web.dll");
Вы можете в цикле перебрать все загруженные в данный момент сборки:
var assemblies = AppDomain.CurrentDomain
.GetAssemblies()
.Where(a => !a.IsDynamic)
.Select(a => a.Location);
cp.ReferencedAssemblies.AddRange(assemblies.ToArray());