我有一只熊猫的数据,看起来是这样的:
letter;Pairs;Count
abandon;frozenset(['abandon', 'dm']);1
abattoir;frozenset(['abattoir', 'year']);1
abbey;frozenset(['abbey', 'mean']);1我想给csv写一封信,看起来像:
abandon;dm
abbattoir;year
abbey;mean标准熊猫的数据选择似乎不起作用,因为frozenset会使事情复杂化。
发布于 2016-12-10 21:45:03
我假设数据帧中的第一行是标题行,因此:
print(df)
letter Pairs Count
0 abandon (dm, abandon) 1
1 abattoir (abattoir, year) 1
2 abbey (abbey, mean) 1( Pairs中元素的圆括号是熊猫打印frozensets的方式)
您可以将其转换为一个名为df2的数据框架,如下所示:
letter Pairs
0 abandon dm
1 abattoir year
2 abbey mean通过这样做:
df2 = pd.DataFrame([df['letter'],(df['Pairs']-set(df['letter'])).str.join('')]).T首先在letter和Pairs列之间执行一个,以便在frozenset中获取元素,即,而不是letter中的元素。然后可以使用这个元素和DataFrame列中的元素创建一个新的letter。最后,您将转换该DataFrame,以便以您想要的方式定向。
发布于 2022-05-16 13:28:33
你能做到的..。
df["Pairs"].apply(lambda x: list(x)[0]).astype("unicode")发布于 2016-12-10 21:29:42
我认为
print(X.apply(lambda x: ";".join(x[1]),axis=1).to_csv(index=False))或
print(X.apply(lambda x: ";".join(x.Pairs),axis=1).to_csv(index=False))其中X是您的数据可能工作。
https://stackoverflow.com/questions/41080383
复制相似问题