假设我有一个数据集,在这些数据集中的一些列中有列表。第一个关键问题是,实际上有很多列都有这样的列表,其中字符串可以用(';')或(';;')分隔,字符串本身以白名单甚至(';)开头。你知道吗
对于这些问题的某些情况,我实现了以下功能:
g = [';','']
f = []
for index, row in data_a.iterrows():
for x in row['column_1']:
if (x in g):
norm = row['column_1'].split(x)
f.append(norm)
print(norm)
else:
实际上它是工作的,但问题是它返回了重复的行,并且无法用其他分隔符解决任务。你知道吗
另一个问题是在我更改了列值的存储方式之后使用虚拟对象:
column_values = data_a['column_1']
data_a.insert(loc=0, column='new_column_8', value=column_values)
dummies_new_win = pd.get_dummies(data_a['column_1'].apply(pd.Series).stack()).sum(level=0)
我得到的不是40列,而是50或60列。由于这个事实,我不能做一个函数,从列表中删除除字母表以外的所有内容。我想了解如何实现这样的功能,因为相同的字符串含义可以用不同的方式编写:
name-Jack or name(Jack)
期望的输出如下所示:
nameJack nameJack
我不知道我是否理解你,但要删除所有非字母数字,你可以使用简单的正则表达式。你知道吗
示例:
Output:'悲伤'
您可以对熊猫使用
str.replace
。你知道吗相关问题 更多 >
编程相关推荐