我有以下Pandas数据帧。
data = pd.DataFrame(
{
"client": ["first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth", "eleventh"],
"Lifetime": [24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24],
"Tokens": [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
"path": ["kyc", "co", "5dimes", "la", "la", "ku", "pv", "ipv", "lv", "7d", "222"],
"requiredFields": [
['address', 'city', 'country', 'dobDay', 'dobMonth', 'dobYear', 'firstName', 'lastName', 'ssn', 'state', 'zip'],
['address', 'country', 'dobDay', 'dobMonth', 'dobYear', 'firstName', 'lastName', 'ssn', 'state', 'zip'],
['address', 'country', 'dobDay', 'dobMonth', 'dobYear', 'firstName', 'lastName', 'state', 'zip'],
['city', 'country', 'dobDay', 'dobMonth', 'dobYear', 'firstName', 'lastName', 'ssn', 'state', 'zip'],
['city', 'country', 'dobDay', 'dobMonth', 'dobYear', 'firstName', 'lastName', 'ssn', 'zip'],
['city', 'country', 'dobDay', 'dobMonth', 'dobYear', 'firstName', 'lastName', 'ssn'],
['city', 'country', 'dobDay', 'dobMonth', 'dobYear', 'firstName', 'lastName', 'state', 'zip'],
['country', 'dobDay', 'dobMonth', 'dobYear', 'firstName', 'lastName', 'ssn', 'state', 'zip'],
['country', 'dobDay', 'dobMonth', 'dobYear', 'firstName', 'lastName', 'ssn', 'zip'],
['country', 'dobDay', 'dobMonth', 'dobYear', 'firstName', 'lastName', 'state', 'zip'],
['dobDay', 'dobMonth', 'dobYear', 'firstName', 'lastName']
],
"userIdRequired": [True, True, True, True, True, True, True, True, True, True, True],
}
)我想做的是让列表中的每个项目都进入一个单独的列。结果是作为列名的列表项及其值"0";y";。像这样的东西。
客户端 | 生存期 | 令牌 | 径>requiredFields | <1th>userIdRequired/th>城市 | 国家 | dobDay | dobMonth | state | zip |
---|---|---|---|---|---|---|---|---|---|
first | 24 | 30 | >td style="ext-align:left;">kyc[地址、城市、国家/地区、dobDay、dobMonth、dobYear、firstName、lastName、ssn、state、zip]rue align:right;">yy | y | |||||
第二个 | 24 | 30 | o[地址、城市、国家/地区、dobDay、dobMonth、dobYear、firstName、lastName、ssn、state、zip]>无right;">y | ||||||
第三次 | 24 | 30 | 次[地址,城市,国家,dobDay,dobMonth,dobYear,firstName,lastName,state,zip] | ||||||
第四个 | 24 | 30 | a>td style="ext-align:center;">[城市,国家,dobDay,dobMonth,dobYear,firstName,lastName,ssn,state,zip]True | >无 | td style="text align=right;">y|||||
第五个 | 24 | 30 | a[城市、国家、dobDay、dobMonth、dobYear、firstName、lastName、ssn、zip]="text align=right;">yy | ||||||
第六个 | 24 | 30 | u>td style="ext-align:center;">[城市、国家、dobDay、dobMonth、dobYear、firstName、lastName、ssn]<1d>yy | ||||||
第七个 | 24 | 30 | v>[城市,国家,dobDay,dobMonth,dobYear,firstName,lastName,state,zip] | <1d>真<2d>无"text-align:right;">yy | |||||
第八个 | 24 | 30 | pv[国家/地区,dobDay,dobMonth,dobYear,firstName,lastName,ssn,state,zip]style="text align=right;">无|||||||
第九个 | 24 | 30 | v>td style="ext-align:center;">[国家/地区,dobDay,dobMonth,dobYear,firstName,lastName,ssn,zip]<1d>无y | ||||||
第十个 | 24 | 30 | d[国家/地区,dobDay,dobMonth,dobYear,firstName,lastName,state,zip]>无 | y | |||||
第十一个 | 24 | 30 | 22[dobDay,dobMonth,dobYear,firstName,lastName]无无 |
您可以进行
out = data.join(data['requiredFields'].str[0].str.get_dummies(sep=', ').replace({0: None, 1: 'y'}))
print(out)
client Lifetime Tokens path
0 first 24 30 kyc
1 second 24 30 co
2 third 24 30 5dimes
3 fourth 24 30 la
requiredFields userIdRequired
0 [country, dobDay, dobMonth, dobYear, firstName] True
1 [address, country, dobDay, dobMonth, dobYear] True
2 [city, country, dobDay, dobMonth, dobYear, firstName] True
3 [dobDay, dobMonth, dobYear, firstName, lastName] True
address city country dobDay dobMonth dobYear firstName lastName
0 None None y y y y y None
1 y None y y y y None None
2 None y y y y y y None
3 None None None y y y y y