展平pandas数据框列

时间:2016-12-17 06:40:34

标签: python pandas

我目前有以下专栏:

0          [Joe]
1           John
2           Mary
3         [Joey]
4          Harry
5        [Susan]
6          Kevin

我似乎无法移除[],而不会使[] = NaN

要明确我希望列看起来像这样:

0            Joe
1           John
2           Mary
3           Joey
4          Harry
5          Susan
6          Kevin

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:3)

你的标题似乎暗示你系列的某些元素是列表。

设置

s = pd.Series([['Joe'], 'John', 'Mary', ['Joey'], 'Harry', ['Susan'], 'Kevin'])
s

0      [Joe]
1       John
2       Mary
3     [Joey]
4      Harry
5    [Susan]
6      Kevin
dtype: object

选项1
申请pd.Series

s.apply(pd.Series).squeeze()

0      Joe
1     John
2     Mary
3     Joey
4    Harry
5    Susan
6    Kevin
Name: 0, dtype: object

答案 1 :(得分:0)

试试这个:

df['column_name'] = df['column_name'].apply(lambda x: str(x).strip("'[]") if type(x) == list else x)

答案 2 :(得分:0)

为什么不做Control.Gravity = GravityFlags.CenterVertical;

s.astype(str).str.strip ("'[]'")