【发布时间】:2016-11-29 00:11:23
【问题描述】:
我有以下 pandas DataFrame。
import pandas as pd
df = pd.read_csv('filename.csv')
print(df)
sample column_A
0 sample1 6/6
1 sample2 0/4
2 sample3 2/6
3 sample4 12/14
4 sample5 15/21
5 sample6 12/12
.. ....
column_A 中的值不是分数,必须对这些数据进行处理,以便我可以将每个值转换为 0s 和 1s(而不是将整数转换为二进制对应物)。
上面的“分子”给出了1s 的总数,而“分母”给出了0s 和1s 的总数。
所以,表格实际上应该是以下格式:
sample column_A
0 sample1 111111
1 sample2 0000
2 sample3 110000
3 sample4 11111111111100
4 sample5 111111111111111000000
5 sample6 111111111111
.. ....
我从来没有像这样解析一个整数来输出 0 和 1 的字符串。如何做到这一点?是否有与lambda 表达式一起使用的“熊猫方法”? Pythonic 字符串解析或正则表达式?
【问题讨论】:
-
我会说字符串解析,类似于
a,b = map(int, field.split('/')); result = '1'*a + '0'*(b-a)。
标签: python regex parsing pandas