python - 删除python中pandas中重复标题或字符串相同列和空行的行

标签 python python-3.x pandas dataframe spyder

我有一个样本 data ( Data_sample_truncated.txt ),我从大数据中截断的。它有 3 个字段 - "Index", "Time" and "RxIn.Density[**x**, ::]"这里我使用 x 作为整数,如 x可以针对任何范围而变化。在这个数据中它是0-15 。 3 列字段的组合是唯一的。对于不同的"Index""Time" and "RxIn.Density[**x**, ::]"可以相同或不同。对于每个新的"Index"数据值有 blank line和几乎相似的列标题,除了 "RxIn.Density[**x**, ::]"哪里x新时增加 "Index"值已达到。我从ADS导出的数据(电路仿真软件)在导出时给我这样的格式。

现在我想格式化数据,以便将所有数据合并到 3 个唯一的列字段下 - "Index", "Time" and "RxIn.Density" 。你可以看到我想删除字符串 [**x**, ::]在第三列的新数据框中。这是sample final data file that I want 格式化后 ( Data-format_I_want_after_formatting.txt )。所以我想要以下 -

  • 要删除的空行(或行)
  • 要删除的所有其他标题行仅保留顶部标题并将第三列标题更改为 "RxIn.Density"
  • 将所有数据合并到唯一列字段下 - "Index", "Time" and "RxIn.Density" ,即使数据值重复。

我的 MATLAB 代码如下:

import pandas as pd

#create DataFrame from csv with columns f and v 
df = pd.read_csv('Data_sample_truncated.txt', sep="\s+", names=['index','time','v'])

#boolean mask for identify columns of new df   
m = df['v'].str.contains('RxIn')

#new column by replace NaNs by forward filling
df['g'] = df['v'].where(m).ffill()

#get original ordering for new columns
#cols = df['g'].unique()

#remove rows with same values in v and g columns
#df = df[df['v'] != df['g']]

df = df.drop_duplicates(subset=['index', 'time'], keep=False)

df.to_csv('target.txt', index=False, sep='\t')

生成的target.txt文件不是我想要的。您可以查看here 。任何人都可以帮助我的代码出了什么问题以及如何修复它以便我想要我想要的格式吗?

我使用的是 Spyder 3.2.6 (Anaconda),其中嵌入了 python 3.6.4 64 位。

最佳答案

您可以过滤掉不需要的行(检查 this ):

import pandas as pd
df = pd.read_csv('Data_sample_truncated.txt', sep="\s+")
df.columns = ["index","time","RxIn.Density","1"]
del df["1"]
df = df[~df["RxIn.Density"].str.contains("Rx")].reset_index(drop=True)
df.to_csv('target.txt', index=False, sep='\t')

关于python - 删除python中pandas中重复标题或字符串相同列和空行的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51907963/

相关文章:

python - 如何删除 3-ples 列表中每个元组的第二个元素?

python - SOCIAL_AUTH_CREATE_USERS 的问题

python - 如何通过调整权重来优化 PIL 逊相关系数?

python - Pandas 对给定开始和结束日期的时间序列进行重采样

Python 独立应用程序在启动时失败 (macOS)

python - SQL iPython Magic 扩展不会加载

python - setup.py 中的 2 到 3 没有涵盖测试?

python - 如何使用两个嵌套列表来制作字典列表?

Python:如何计算数据框中特定列中的特定值

python - 将 pandas 中的系列分组