python-3.x - 在条件下删除DataFrame中的元素
问题描述
我的 DataFrame 正在查看:
indeed.fr
11.41%
career2.successfactors.eu
8.53%
37.16%
pracuj.pl
7.40%
80.42%
corporate.danone.com.br
6.64%
indeed.com.br
4.68%
61.73%
因此,我只想保存第一个 % 如下:
indeed.fr
11.41%
career2.successfactors.eu
8.53%
pracuj.pl
7.40%
corporate.danone.com.br
6.64%
indeed.com.br
4.68%
所有行都是字符串等等我不知道我们是否可以在前一行包含 % 的条件下删除行?
有任何想法吗 ?
谢谢你的时间 !
mydata =['indeed.fr','11.41%','career2.successfactors.eu','8.53%','37.16%','pracuj.pl','7.40%','80.42%','corporate.danone.com.br','6.64%','indeed.com.br','4.68%','61.73%']
df=pd.DataFrame(mydata)
最后,我想要这个:
解决方案
mydata =['indeed.fr','11.41%','career2.successfactors.eu','8.53%','37.16%','pracuj.pl','7.40%','80.42%','corporate.danone.com.br','6.64%','indeed.com.br','4.68%','61.73%']
df = pd.DataFrame(mydata)
是您创建的样本。
解决方案如下
rowList = []
row = []
#Variable to keep track of the number of times I see the percentage value
percentVal = 0
for i in df.index:
if(df.at[i, 0][0] not in set('0123456789')):
row.append(df.at[i, 0])
percentVal = 0
else:
percentVal += 1
if(percentVal != 2):
row.append(df.at[i, 0])
rowList.append(row)
row = []
else:
#If percentVal == 2, that means, I have seen my second percentage value and I'm going to skip it.
print("Skipping {}".format(df.at[i, 0]))
row = []
yourSol = pd.DataFrame(rowList)
yourSol.columns = ['Incoming Referal Sources', 'Value (%)']
print(yourSol)
推荐阅读
- ruby - 当我已经定义了方法时,我得到了一个“NoMethodError”
- sql-server - SSIS - 带格式文件和单引号的批量插入
- android - LiveDataScope 发出不调用
- python-3.x - 在“BashOperator”中更改 Airflow 上“next_execution_date”的时间
- php - 如何根据语言/区域设置为 1、2、3 制作 PHP 输出“1st”、“2nd”、“3rd”等?
- angular8 - 数字列未显示使用角度 8 中的 ngx-highlightJs
- reactjs - 无法读取未定义 onClick 的属性“推送”
- floating-point - 多平台支持扩展类型的二进制数据文件
- css - 不能在反应 CSS 导入中为 className 使用字符串文字?
- apache-spark - 将spark dataset.写入hdfs时如何获得幂等保证?