Index Batch name 0 1 Jon 1 2 2 Adam 3 4 3 Voges 5 6 4 Jon
我想从这个数据框中创建另一个数据帧,并将批次编号分组
Batch name/Batches1 Jon(1,4)2 Adam(2)3 Voges(3)4 Jon(1,4)
我怎么能这样做,如果我从现有DF创建一个新列表或ordereddict然后将其转换为另一个DF,或者这可以在运行中完成.
更新:
在他们之间编辑Spaces
def stringer(x): return '('+','.join(map(str,x))+')'df['name'] += df.groupby('name')['Batch'].transform(stringer)print(df) Batch name0 1 Jon(1,4)1 2 Adam(2)2 3 Voges(3)3 4 Jon(1,4)
更新空行的记帐
在这种情况下你可以使用numpy.where:
import numpy as npdef stringer(x): return '('+',map(int,x)))+')'s = df.dropna(subset=['name']).groupby('name')['Batch'].apply(stringer)df['name/Batch'] = np.where(df['name'].notnull(),df['name'] + df['name'].map(s),df['name'])print(df) Index Batch name name/Batch0 0 1.0 Jon Jon(1,4)1 1 NaN NaN NaN2 2 2.0 Adam Adam(2)3 3 NaN NaN NaN4 4 3.0 Voges Voges(3)5 5 NaN NaN NaN6 6 4.0 Jon Jon(1,4)总结
以上是内存溢出为你收集整理的python – 从另一个Dataframe创建Dataframe全部内容,希望文章能够帮你解决python – 从另一个Dataframe创建Dataframe所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)