A. python pandas.DataFrame.plot()畫出來的圖如何顯示x軸出來。
df.reset_index()
詳細用法見文檔
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.reset_index.html
B. python,爬蟲,pandas的DataFrame處理後的數據,輸出到文本後中間這些數據都沒有展開怎麼辦
爬蟲+pandas這個組合我還是頭一次見。 據我所知pandas是專門用來處理數學問題的,雖然也提供了一些字元串相關的函數,但畢竟能力有限,建議換一個方式吧,比如資料庫來儲存會比較好。
但還是要幫你解決你現在的這個問題才行。
圖片的那個情況是不是用print函數直接輸出在控制台上了,然後手動復制到文本文件里的?
如果是的話,那肯定不會顯示全的。 如果想顯示全的話,且數據量少的情況下(100個以內),可以用遍歷的方法,遍歷的時候print每行的數據。
或者直接用to_csv或者to_excel方法輸出到文件裡面。
C. python用dataframe的to_csv方法寫入到CSV文件,如果是數據列,以0開頭的時候CSV文件裡面不顯示
修改csv列格式沒用,保存不了,下次打開還是原樣,如果帶零列的數據類型是數值,需要將其轉換成字元串類型:df['帶零列']=df['帶零列'].astype(str)
還是不行的話,這就是打開csv的工具的原因了,你很有可能是用Excel打開的csv文件,其實質還是字元串,如果你用Notepad++或者記事本打開,顯示就是帶0的。
如果想還是用Excel打開,看到帶0的,可以這樣解決:df['帶零列']='\t'+df['帶零列'],即在字元串前加個橫向製表符,這樣再用Excel打開就顯示沒問題了。
希望能幫到你。
D. python已知某個元素,怎麼得到該元素在dataframe中的位置
雖然時隔快四年的提問了,但還是不得不給出最好的答案,那個回答說「for循環」的答案簡直是牛頭不對馬嘴啊,
我的答案:
pandas.dataframe中根據條件獲取元素所在的位置(索引)
df=pd.DataFrame({'BoolCol':[1,2,3,3,4],'attr':[22,33,22,44,66]},
index=[10,20,30,40,50])
print(df)
a=df[(df.BoolCol==3)&(df.attr==22)].index.tolist()
print(a)
E. python的dataframe(py.read_table)讀取txt,但是間隔為大於兩個且個數不定的空格,如何操作
先見數據轉為python數據格式,
像Harvard University很難分割的可以用re正則表達式s{2,5}
嘗試對齊操作
F. python對dataframe列里的元素進行修改
直接在參數一欄設置一下即可:
df=pd.read_csv('text.csv', dtype={'編號':str}
這樣,把你要轉換的列的名字設定好, 「編號」列中的數據讀取為str
這樣,讀取到的數據就是按照我們的要求的了。
G. 將dataframe的一行轉成一個字典python
有時候,在Python中需要將dataframe類型轉換為字典類型,下面的方法幫助我們解決這一問題。 任務代碼。
# encoding: utf-8
import pandas as pd
a = ['Name', 'Age', 'Gender']
b = ['Ali', '19', 'China']
data = pd.DataFrame(zip(a, b), columns=['project', 'attribute'])
print data
dict_country = data.set_index('project').T.to_dict('list')
print dict_country
輸出顯示
project attribute
0 Name Ali
1 Age 19
2 Gender China
{'Gender': ['China'], 'Age': ['19'], 'Name': ['Ali']}
值得注意的是,轉置之前需要設置指定的索引,否則會按照默認索引轉換成這樣:
{0: ['Name', 'Ali'], 1: ['Age', '19'], 2: ['Gender', 'China']}
H. python對dataframe進行操作
建議參考一下dataframe文檔,裡面有相應的方法,不需要使用for循環遍歷,for循環遍歷會拖慢程序。對於dataframe中數據檢索可以使用下面的方法。
【全部】df.values
【name列的數據】df['name'].values
【loc檢索A列】df.loc['A']
【iloc進行行檢索】df.iloc[0]
【直接使用名字進行列檢索,但不適合行檢索】df['name']
第一步:准備一些數據運行效果展示
完美運行,不用操心索引+1的問題,也不用再創建一個DataFrame實例!
希望能夠採納!