草庐IT

sample_dataframe

全部标签

python - 日志文件到 Pandas Dataframe

我有日志文件,其中有很多行的形式:LogLevel[13/10/201500:30:00.650][MessageText]我的目标是将日志文件中的每一行转换成一个漂亮的数据框。我已经厌倦了这样做,通过拆分[字符上的行,但是我仍然没有得到一个整洁的数据框。我的代码:level=[]time=[]text=[]withopen(filename)asinf:forlineininf:parts=line.split('[')iflen(parts)>1:level=parts[0]time=parts[1]text=parts[2]print(parts[0],parts[1],part

python - 将 API 转换为 Pandas DataFrame

我想将API调用转换为pandasdataframe。此刻,API非常杂乱无章,我想合并pandas以使其更易于阅读/编辑/操作。我尝试了以下操作:r=requests.get('http://api.football-data.org/v1/competitions/398/teams')x=r.json()df=pd.read_json(x)printdf但收到:TypeError:ExpectedStringorUnicode 最佳答案 pd.read_json需要一个字符串。但是,r.json()返回一个字典对象。在您的情况

python - 向 DataFrame 添加多个列并将它们设置为等于现有列

我想将多个列添加到pandasDataFrame并将它们设置为等于现有列。有没有简单的方法可以做到这一点?在R中我会这样做:df在pandas中,这会导致KeyError:"['b''c']notinindex":df=pd.DataFrame({'a':np.arange(1,6)})df[['b','c']]=df.a 最佳答案 你可以使用.assign()方法:In[31]:df.assign(b=df['a'],c=df['a'])Out[31]:abc01111222233334444555或者更有创意的方法:In[41]

python - 检查列表中的单词并删除 pandas dataframe 列中的那些单词

我有一个列表如下,remove_words=['abc','deff','pls']以下是我拥有的列名称为“string”的数据框data['string']0abcstackoverflow1abc1232deffcomedy3definitely4plslkjh5pls1234我想检查pandasdataframe列中remove_words列表中的单词,并删除pandasdataframe中的这些单词。我想检查单独出现的单词而不与其他单词一起出现。例如,如果pandasdf列中有'abc',请将其替换为'',但如果它出现在abc123中,我们需要保持原样。这里的输出应该是,dat

python - 测试 pandas DataFrame 的任何列是否满足条件

我有一个包含很多列的DataFrame。现在,我有一个条件可以测试其中的某些列,如果该列集中的任何一个不为零。有没有更优雅的方法将该条件应用于列的子集?我当前的代码是:df['indicator']=((df['col_1']!=0)|(df['col_2']!=0)|(df['col_3']!=0)|(df['col_4']!=0)|(df['col_5']!=0))我一直在寻找类似这样的伪代码:columns=['col_1','col_1','col_2','col_3','col_4','col_5']df['indicator']=df.any(columns,lambdav

python - 如何有效地迭代 pandas DataFrame 并在这些值上递增 NumPy 数组?

我的pandas/numpy生疏了,感觉自己写的代码效率低下。我正在Python3.x中初始化一个numpy零数组,长度为1000。为了我的目的,这些只是整数:importnumpyasnparray_of_zeros=np.zeros((1000,),)我还有下面的DataFrame(比我的实际数据小很多)importpandasaspddict1={'start':[100,200,300],'end':[400,500,600]}df=pd.DataFrame(dict1)print(df)####startend##0100400##1200500##2300600DataFr

python - Pandas Dataframe 检查列值是否在列列表中

我有一个数据框df:data={'id':[12,112],'idlist':[[1,5,7,12,112],[5,7,12,111,113]]}df=pd.DataFrame.from_dict(data)看起来像这样:ididlist012[1,5,7,12,112]1112[5,7,12,111,113]我需要检查id是否在idlist中,然后选择或标记它。我尝试了以下变体并收到注释错误:df=df.loc[df.id.isin(df.idlist),:]#TypeError:unhashabletype:'list'df['flag']=df.where(df.idlist.i

python - Pandas DataFrame.groupby() 到具有多列值的字典

type(Table)pandas.core.frame.DataFrameTable=====================Column1Column2Column302311521231195256122223243145459154415125873对于任何熟悉pandas的人,我将如何使用.groupby()方法构建一个多值字典?我希望输出类似于这种格式:{0:[(23,1)]1:[(5,2),(2,3),(19,5)]#etc...}其中Col1值表示为键,相应的Col2和Col3是为每个Col1键。我的语法只适用于将一列汇集到.groupby()中:Table.group

python - 在 Python 3.x 中使用 Pandas 合并基于列和特定列的值的两个 DataFrame

你好,我有一个问题,我无法实现解决方案。我有以下两个数据框:>>>df1ABdate1101-20162102-20171203-20172204-2020>>>df2AB01-201602-201703-201704.2020110.100.220.550.77210.200.120.990.125120.130.150.150.245220.330.10.8880.64我想要的是跟随DataFrame:>>>df3ABdatevalue1101-20160.102102-20170.121203-20170.152204-20200.64我已经尝试过以下:summarize_dat

python - 将 uuid 添加到 pandas DataFrame 中的新列

我想为pandasDataFrame中单个新列中的每一行添加一个uuid。这显然用相同的uuid填充了列:importuuidimportpandasaspdimportnumpyasnpdf=pd.DataFrame(np.random.randn(4,3),columns=list('abc'),index=['apple','banana','cherry','date'])df['uuid']=uuid.uuid4()print(df)abcuuidapple0.687601-1.332904-0.16601834115445-c4b8-4e64-bc96-e120abda16