df.mean(axis=1) 仅返回 NaN 值
df.mean(axis=1) is returning only NaN values
我正在尝试执行以下操作:使用循环打开以特定文本 (C1_LRC) 结尾的不同文件,将每个文件中感兴趣的列附加到新数据框中。最后,我想计算这些列的平均值。问题是我得到的是 NaN 值而不是平均值,我不明白为什么。我附上了一个输出示例。提前谢谢你
path = 'C:/.../...'
dfs=[]
for file in os.listdir(path):
if file.endswith('C1_LRC.TXT'):
with open(os.path.join(path, file)) as f:
df = pd.read_csv(f, sep="\t", header=1)
dfs.append(df)
big_frame = pd.concat(dfs, axis=1, ignore_index=True)
big_frame['average']=big_frame.mean(axis=1)
print(big_frame)
使用
检查您的列数据类型
print(big_frame.dtypes)
您的列似乎不是 float
,而是 object
,因为最上面的行是 non-numeric。例如,列名 "0"
第一行的值为 Area 1
。当然,non-float 数据的“平均值”永远不是数字 (NaN
)。
我正在尝试执行以下操作:使用循环打开以特定文本 (C1_LRC) 结尾的不同文件,将每个文件中感兴趣的列附加到新数据框中。最后,我想计算这些列的平均值。问题是我得到的是 NaN 值而不是平均值,我不明白为什么。我附上了一个输出示例。提前谢谢你
path = 'C:/.../...'
dfs=[]
for file in os.listdir(path):
if file.endswith('C1_LRC.TXT'):
with open(os.path.join(path, file)) as f:
df = pd.read_csv(f, sep="\t", header=1)
dfs.append(df)
big_frame = pd.concat(dfs, axis=1, ignore_index=True)
big_frame['average']=big_frame.mean(axis=1)
print(big_frame)
使用
检查您的列数据类型print(big_frame.dtypes)
您的列似乎不是 float
,而是 object
,因为最上面的行是 non-numeric。例如,列名 "0"
第一行的值为 Area 1
。当然,non-float 数据的“平均值”永远不是数字 (NaN
)。