Pandas:替换数据框列中的列值
Pandas: Replacing column values in dataframe columns
我这道题的目标是在每个列值的每个字符之间插入一个逗号,这些值已经被散列并填充到 19 位的长度。
下面的代码部分有效,但尝试将 f_comma 函数应用于列值时数组值变得混乱...感谢您的帮助!
我从其他问题中得到了一些答案并创建了以下代码:
使用此功能 -
def f_comma(p_string, n=1):
p_string = str(p_string)
return ','.join(p_string[i:i+n] for i in range(0, len(p_string), n))
并打开一个 tsv 文件
data = pd.read_csv('a1.tsv', sep = '\t', dtype=object)
我修改了另一个答案以执行以下操作 -
h = 1
try:
while data.columns[h]:
a = data.columns[h]
data[a] = f_comma((abs(data[a].apply(hash))).astype(str).str.zfill(19))
h += 1
except IndexError:
pass
哪个returns这个数组
array([[ '0, , , , ,4,1,7,5,7,0,1,4,5,4,6,1,6,5,3,1,4,6,1,\n,N,a,m,e,:, ,d,a,t,e,,, ,d,t,y,p,e,:, ,o,b,j,e,c,t',
'0, , , , ,6,2,9,1,6,7,0,8,4,2,8,2,9,1,0,9,5,9,4,\n,N,a,m,e,:, ,n,a,m,e,,, ,d,t,y,p,e,:, ,o,b,j,e,c,t']], dtype=object)
没有 f_comma 函数数组看起来像 -
array([['3556968867719847281', '3691880917405293133']], dtype=object)
目标是这样的数组-
array([['3,5,5,6,9,6,8,8,6,7,7,1,9,8,4,7,2,8,1', '3,6,9,1,8,8,0,9,1,7,4,0,5,2,9,3,1,3,3']], dtype=object)
您应该能够使用 pandas 字符串函数。
例如https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.join.html
df["my_column"].str.join(',')
我这道题的目标是在每个列值的每个字符之间插入一个逗号,这些值已经被散列并填充到 19 位的长度。
下面的代码部分有效,但尝试将 f_comma 函数应用于列值时数组值变得混乱...感谢您的帮助!
我从其他问题中得到了一些答案并创建了以下代码: 使用此功能 -
def f_comma(p_string, n=1):
p_string = str(p_string)
return ','.join(p_string[i:i+n] for i in range(0, len(p_string), n))
并打开一个 tsv 文件
data = pd.read_csv('a1.tsv', sep = '\t', dtype=object)
我修改了另一个答案以执行以下操作 -
h = 1
try:
while data.columns[h]:
a = data.columns[h]
data[a] = f_comma((abs(data[a].apply(hash))).astype(str).str.zfill(19))
h += 1
except IndexError:
pass
哪个returns这个数组
array([[ '0, , , , ,4,1,7,5,7,0,1,4,5,4,6,1,6,5,3,1,4,6,1,\n,N,a,m,e,:, ,d,a,t,e,,, ,d,t,y,p,e,:, ,o,b,j,e,c,t',
'0, , , , ,6,2,9,1,6,7,0,8,4,2,8,2,9,1,0,9,5,9,4,\n,N,a,m,e,:, ,n,a,m,e,,, ,d,t,y,p,e,:, ,o,b,j,e,c,t']], dtype=object)
没有 f_comma 函数数组看起来像 -
array([['3556968867719847281', '3691880917405293133']], dtype=object)
目标是这样的数组-
array([['3,5,5,6,9,6,8,8,6,7,7,1,9,8,4,7,2,8,1', '3,6,9,1,8,8,0,9,1,7,4,0,5,2,9,3,1,3,3']], dtype=object)
您应该能够使用 pandas 字符串函数。 例如https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.join.html
df["my_column"].str.join(',')