在使用pandas读csv(read_csv())时,会默认产生一列索引,当你要把处理过后的csv文件生成一个新的csv文件时,就会多出一列索引值且这一列没有名字,不方便通过drop(columns=[‘name’])来删除,可以一开始在读的时候就让它不要产生索引(index_col=0)。
df = pd.read_csv('filename.csv', encoding='utf-8', index_col=0)
同样在生成csv文件时(to_scv())也可以避免生成索引列,方法为添加参数(index=False)
df.to_csv('C:/filepath/xxx.csv', index=False)
做数据分析的时候遇到有的行的某个关键值为空,那最好删除掉一整行以免影响后面的操作。
df1 = df.dropna(subset=['列名'])
有的数据可能是与时间先后顺序有关,需要按照时间先后顺序排序,这时候需要先把带有时间的列转为date_time格式,再进行排序。
df1['time'] = pd.to_datetime(df1['time'])
df1.sort_values('time', inplace=True)
inplace代表是否更改数据,默认是False,要保存结果的话需要inplace=True。
pandas操作2(增加列并赋值/两列时间相减/按时间合并且求和)
pandas操作3(插入列insert/统计出现次数value_counts)
pandas操作4(处理缺失值,位置索引)
pandas常用csv操作读csv不要索引(index)写csv不要索引删除有空值的行按时间排序读csv不要索引(index)在使用pandas读csv(read_csv())时,会默认产生一列索引,当你要把处理过后的csv文件生成一个新的csv文件时,就会多出一列索引值且这一列没有名字,不方便通过drop(columns=[‘name’])来删除,可以一开始在读的时候就让它不要产生索引(index_col=0)。df = pd.read_csv('filename.csv', encoding='u
if name == '__main__':
# header=0——表示csv文件的第一行默认为dataframe数据的行名称,
# index_col=0——表示使用第0列作为dataframe的行索引,
# squeeze=True——表示如果文件只包含一列,则返回一个序列。
file_dataframe = pd.read_csv('../datasets/data_new_2/csv_file_name.csv', header=0, index_col=0, squeeze=True)
可以使用pandas中的read_csv()函数,并在参数header中设置为None,即:
import pandas as pd
data = pd.read_csv("your_file.csv", header=None)
这样就可以读取csv文件中不包含列标题的数据了。
f.close
f = open('E:/建模/第5周/data/ex1.csv') #方法二,必须指定分隔符为',',否则会读取失败
df = pd.read_table(f,sep=',')
print(df)
f.close
(2)、根据需要条件读取csv文件
#根据需要
import pandas as pd
2、导入CSV或者xlsx文件:
df = pd.DataFrame(pd.read_csv(‘name.csv’,header=1))
df = pd.DataFrame(pd.read_excel(‘name.xlsx’))
3、用pandas创建数据表:
df = pd.DataFrame({“id”:[1001,1002,1003,
之前一直被一个问题困扰,就是pandas的dataframe类型输出到Excel后,存在行索引,因为行索引对数据分析的结果不会产生影响所以一直没有去解决,今天偶然看到了解决方法,特地记录下来,帮助有缘之人。
文章目录1.问题展示源数据读取csv并输出的代码pandas输出后2.问题解决官方文档对于to_excel()输出时不添加行索引的描述代码实现效果展示
1.问题展示
我们以泰坦尼克号的数据作为测试数据,读取后输出到Excel表格中,我们会发现每行前被添加了索引号
读取csv并输出的代码
df=pd.read_csv(r'./class.csv')
#index_1为你需要检索的一列的名称,index等于创建了一个掩码
index=df['index_1'].notnull()
df=df[index]
df.to_csv(r'./class_1.csv')
这样等于去除了某一列中为空值的一行。