python - Pandas Dataframe: How to parse integers into string of 0s and 1s? -
i have following pandas dataframe.
import pandas 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 .. .... the values in column_a not fractions, , these data must manipulated such can convert each value 0s , 1s (not convert integers binary counterparts).
the "numerator" above gives total number of 1s, while "denominator" gives total number of 0s , 1s together.
so, table should in following format:
sample column_a 0 sample1 111111 1 sample2 0000 2 sample3 110000 3 sample4 11111111111100 4 sample5 111111111111111000000 5 sample6 111111111111 .. .... i've never parsed integer output strings of 0s , 1s this. how 1 this? there "pandas method" use lambda expressions? pythonic string parsing or regex?
first, suppose write function:
def to_binary(s): n_d = s.split('/') n, d = int(n_d[0]), int(n_d[1]) return '1' * n + '0' * (d - n) so that,
>>> to_binary('4/5') '11110' now need use pandas.series.apply:
df.column_a.apply(to_binary)
Comments
Post a Comment