【发布时间】:2018-12-17 14:04:24
【问题描述】:
我有 100 个 CSV 文件。但是我需要一个数据框中所有数据框的一列的信息,以便我可以从中制作图表。当我追加一列时,总 Dataframe 保持为空。我做错了什么?
import os
import pandas as pd
import matplotlib.pyplot as plt
directory = os.fsencode('xx')
total_df = pd.DataFrame()
for file in os.listdir(directory):
filename = os.fsdecode(file)
if ('results' in filename):
temp_df = pd.read_csv(filename, sep=';')
xCoor = temp_df.iloc[0,0]
yCoor = temp_df.iloc[0,1]
if (xCoor > 51 and xCoor < 52 and yCoor > 5 and yCoor < 6):
data = temp_df['lon']
total_df.append(data)
print(total_df[:])
这是输出:
Empty DataFrame
Columns: []
Index: []
已解决:
使用 total_df = total_df.append(..) 为我工作
【问题讨论】:
-
查看最里面的 if 语句中的比较运算符
-
DataFrame.append返回一个 new DataFrame,在这种情况下它没有分配给任何东西。 -
使用
total_df = total_df.append(data)而不仅仅是total_df.append(data)