我正在创建一个数据框,希望删除其中不相关的条目。我想去掉那些不是数字的值。
我使用以下代码(credit)创建了 Dataframe :
import pandas as pd
import os
os.chdir('/pathdirectory/files')
csv_files = [f for f in os.listdir() if f.endswith('.csv')]
dfs = []
for csv in csv_files:
df = pd.read_csv(csv, header=None)
df = df.T
df.columns = ['DC energy', 'AC energy', 'Capacity factor', 'Inverter Loss']
dfs.append(df)
final_df = pd.concat(dfs, ignore_index=True)
final_df
返回this data frame。显然,我想删除数据框中的措辞,但我正在努力做到这一点。
任何帮助都非常感谢。
2条答案
按热度按时间ru9i0ody1#
应将CSV的第一列设置为索引:
或者:
请注意,这假设所有文件都具有相同的列顺序。您也可以保留默认名称:
wyyhbhjk2#
1.我们使用df.apply(pd.to_numeric,errors='coerce')将DataFrame中的所有值转换为数字,将非数字值强制转换为NaN。2.我们使用df.dropna()删除包含NaN值的行,这些值对应于非数字条目。3.如果希望索引连续且没有任何间隙,可以使用df.reset_index(drop=True)重置索引。4.运行此代码后,df将仅包含具有数值的行,非数值项将被删除。