如何使用 python 将重复的行移动到列中
How to move duplicate rows into columns with python
我很难弄清楚如何用 python 做到这一点。我有以下 table:
NAMES VALUE
john_1 1
john_2 2
john_3 3
bro_1 4
bro_2 5
bro_3 6
guy_1 7
guy_2 8
guy_3 9
我想去:
NAMES VALUE1 VALUE2 VALUE3
john 1 2 3
bro 4 5 6
guy 7 8 9
我试过 pandas,所以我首先拆分索引 (NAMES),然后我可以创建新列,但我无法将值索引到正确的列。
至少有人能告诉我解决这个问题的方向吗?我不期望完整的代码(我知道这不受欢迎)但欢迎任何帮助。
拆分 NAMES
列后,使用 .pivot
重塑您的 DataFrame。
# Split Names and Pivot.
df['NAME_NBR'] = df['NAMES'].str.split('_').str.get(1)
df['NAMES'] = df['NAMES'].str.split('_').str.get(0)
df = df.pivot(index='NAMES', columns='NAME_NBR', values='VALUE')
# Rename columns and reset the index.
df.columns = ['VALUE{}'.format(c) for c in df.columns]
df.reset_index(inplace=True)
如果你想圆滑,可以在一行中进行拆分:
df['NAMES'], df['NAME_NBR'] = zip(*[s.split('_') for s in df['NAMES']])
我很难弄清楚如何用 python 做到这一点。我有以下 table:
NAMES VALUE
john_1 1
john_2 2
john_3 3
bro_1 4
bro_2 5
bro_3 6
guy_1 7
guy_2 8
guy_3 9
我想去:
NAMES VALUE1 VALUE2 VALUE3
john 1 2 3
bro 4 5 6
guy 7 8 9
我试过 pandas,所以我首先拆分索引 (NAMES),然后我可以创建新列,但我无法将值索引到正确的列。
至少有人能告诉我解决这个问题的方向吗?我不期望完整的代码(我知道这不受欢迎)但欢迎任何帮助。
拆分 NAMES
列后,使用 .pivot
重塑您的 DataFrame。
# Split Names and Pivot.
df['NAME_NBR'] = df['NAMES'].str.split('_').str.get(1)
df['NAMES'] = df['NAMES'].str.split('_').str.get(0)
df = df.pivot(index='NAMES', columns='NAME_NBR', values='VALUE')
# Rename columns and reset the index.
df.columns = ['VALUE{}'.format(c) for c in df.columns]
df.reset_index(inplace=True)
如果你想圆滑,可以在一行中进行拆分:
df['NAMES'], df['NAME_NBR'] = zip(*[s.split('_') for s in df['NAMES']])