python--Pandas中DataFrame基本函數(shù)(略全)

在python中,眾所周知溶耘,數(shù)據(jù)預(yù)處理最好用的包就是pandas了近她,以下是pandas里的dataframe數(shù)據(jù)結(jié)構(gòu)常用函數(shù)。

pandas作者Wes McKinney 在【PYTHON FOR DATA ANALYSIS】中對(duì)pandas的方方面面都有了一個(gè)權(quán)威簡(jiǎn)明的入門級(jí)的介紹诫肠。

構(gòu)造函數(shù)

方法描述

DataFrame([data, index, columns, dtype, copy])構(gòu)造數(shù)據(jù)框

屬性和數(shù)據(jù)

方法描述

Axesindex: row labels;columns: column labels

DataFrame.as_matrix([columns])轉(zhuǎn)換為矩陣

DataFrame.dtypes返回?cái)?shù)據(jù)的類型

DataFrame.ftypesReturn the ftypes (indication of sparse/dense and dtype) in this object.

DataFrame.get_dtype_counts()返回?cái)?shù)據(jù)框數(shù)據(jù)類型的個(gè)數(shù)

DataFrame.get_ftype_counts()Return the counts of ftypes in this object.

DataFrame.select_dtypes([include, exclude])根據(jù)數(shù)據(jù)類型選取子數(shù)據(jù)框

DataFrame.valuesNumpy的展示方式

DataFrame.axes返回橫縱坐標(biāo)的標(biāo)簽名

DataFrame.ndim返回?cái)?shù)據(jù)框的緯度

DataFrame.size返回?cái)?shù)據(jù)框元素的個(gè)數(shù)

DataFrame.shape返回?cái)?shù)據(jù)框的形狀

DataFrame.memory_usage([index, deep])Memory usage of DataFrame columns.

類型轉(zhuǎn)換

方法描述

DataFrame.astype(dtype[, copy, errors])轉(zhuǎn)換數(shù)據(jù)類型

DataFrame.copy([deep])復(fù)制數(shù)據(jù)框

DataFrame.isnull()以布爾的方式返回空值

DataFrame.notnull()以布爾的方式返回非空值

索引和迭代

方法描述

DataFrame.head([n])返回前n行數(shù)據(jù)

DataFrame.at快速標(biāo)簽常量訪問器

DataFrame.iat快速整型常量訪問器

DataFrame.loc標(biāo)簽定位

DataFrame.iloc整型定位

DataFrame.insert(loc, column, value[, …])在特殊地點(diǎn)插入行

DataFrame.iter()Iterate over infor axis

DataFrame.iteritems()返回列名和序列的迭代器

DataFrame.iterrows()返回索引和序列的迭代器

DataFrame.itertuples([index, name])Iterate over DataFrame rows as namedtuples, with index value as first element of the tuple.

DataFrame.lookup(row_labels, col_labels)Label-based “fancy indexing” function for DataFrame.

DataFrame.pop(item)返回刪除的項(xiàng)目

DataFrame.tail([n])返回最后n行

DataFrame.xs(key[, axis, level, drop_level])Returns a cross-section (row(s) or column(s)) from the Series/DataFrame.

DataFrame.isin(values)是否包含數(shù)據(jù)框中的元素

DataFrame.where(cond[, other, inplace, …])條件篩選

DataFrame.mask(cond[, other, inplace, axis, …])Return an object of same shape as self and whose corresponding entries are from self where cond is False and otherwise are from other.

DataFrame.query(expr[, inplace])Query the columns of a frame with a boolean expression.

二元運(yùn)算

方法描述

DataFrame.add(other[, axis, level, fill_value])加法欺缘,元素指向

DataFrame.sub(other[, axis, level, fill_value])減法栋豫,元素指向

DataFrame.mul(other[, axis, level, fill_value])乘法,元素指向

DataFrame.div(other[, axis, level, fill_value])小數(shù)除法谚殊,元素指向

DataFrame.truediv(other[, axis, level, …])真除法丧鸯,元素指向

DataFrame.floordiv(other[, axis, level, …])向下取整除法,元素指向

DataFrame.mod(other[, axis, level, fill_value])模運(yùn)算嫩絮,元素指向

DataFrame.pow(other[, axis, level, fill_value])冪運(yùn)算丛肢,元素指向

DataFrame.radd(other[, axis, level, fill_value])右側(cè)加法,元素指向

DataFrame.rsub(other[, axis, level, fill_value])右側(cè)減法剿干,元素指向

DataFrame.rmul(other[, axis, level, fill_value])右側(cè)乘法蜂怎,元素指向

DataFrame.rdiv(other[, axis, level, fill_value])右側(cè)小數(shù)除法,元素指向

DataFrame.rtruediv(other[, axis, level, …])右側(cè)真除法置尔,元素指向

DataFrame.rfloordiv(other[, axis, level, …])右側(cè)向下取整除法杠步,元素指向

DataFrame.rmod(other[, axis, level, fill_value])右側(cè)模運(yùn)算,元素指向

DataFrame.rpow(other[, axis, level, fill_value])右側(cè)冪運(yùn)算榜轿,元素指向

DataFrame.lt(other[, axis, level])類似Array.lt

DataFrame.gt(other[, axis, level])類似Array.gt

DataFrame.le(other[, axis, level])類似Array.le

DataFrame.ge(other[, axis, level])類似Array.ge

DataFrame.ne(other[, axis, level])類似Array.ne

DataFrame.eq(other[, axis, level])類似Array.eq

DataFrame.combine(other, func[, fill_value, …])Add two DataFrame objects and do not propagate NaN values, so if for a

DataFrame.combine_first(other)Combine two DataFrame objects and default to non-null values in frame calling the method.

函數(shù)應(yīng)用&分組&窗口

方法描述

DataFrame.apply(func[, axis, broadcast, …])應(yīng)用函數(shù)

DataFrame.applymap(func)Apply a function to a DataFrame that is intended to operate elementwise, i.e.

DataFrame.aggregate(func[, axis])Aggregate using callable, string, dict, or list of string/callables

DataFrame.transform(func, *args, **kwargs)Call function producing a like-indexed NDFrame

DataFrame.groupby([by, axis, level, …])分組

DataFrame.rolling(window[, min_periods, …])滾動(dòng)窗口

DataFrame.expanding([min_periods, freq, …])拓展窗口

DataFrame.ewm([com, span, halflife, alpha, …])指數(shù)權(quán)重窗口

描述統(tǒng)計(jì)學(xué)

方法描述

DataFrame.abs()返回絕對(duì)值

DataFrame.all([axis, bool_only, skipna, level])Return whether all elements are True over requested axis

DataFrame.any([axis, bool_only, skipna, level])Return whether any element is True over requested axis

DataFrame.clip([lower, upper, axis])Trim values at input threshold(s).

DataFrame.clip_lower(threshold[, axis])Return copy of the input with values below given value(s) truncated.

DataFrame.clip_upper(threshold[, axis])Return copy of input with values above given value(s) truncated.

DataFrame.corr([method, min_periods])返回本數(shù)據(jù)框成對(duì)列的相關(guān)性系數(shù)

DataFrame.corrwith(other[, axis, drop])返回不同數(shù)據(jù)框的相關(guān)性

DataFrame.count([axis, level, numeric_only])返回非空元素的個(gè)數(shù)

DataFrame.cov([min_periods])計(jì)算協(xié)方差

DataFrame.cummax([axis, skipna])Return cumulative max over requested axis.

DataFrame.cummin([axis, skipna])Return cumulative minimum over requested axis.

DataFrame.cumprod([axis, skipna])返回累積

DataFrame.cumsum([axis, skipna])返回累和

DataFrame.describe([percentiles, include, …])整體描述數(shù)據(jù)框

DataFrame.diff([periods, axis])1st discrete difference of object

DataFrame.eval(expr[, inplace])Evaluate an expression in the context of the calling DataFrame instance.

DataFrame.kurt([axis, skipna, level, …])返回?zé)o偏峰度Fisher’s (kurtosis of normal == 0.0).

DataFrame.mad([axis, skipna, level])返回偏差

DataFrame.max([axis, skipna, level, …])返回最大值

DataFrame.mean([axis, skipna, level, …])返回均值

DataFrame.median([axis, skipna, level, …])返回中位數(shù)

DataFrame.min([axis, skipna, level, …])返回最小值

DataFrame.mode([axis, numeric_only])返回眾數(shù)

DataFrame.pct_change([periods, fill_method, …])返回百分比變化

DataFrame.prod([axis, skipna, level, …])返回連乘積

DataFrame.quantile([q, axis, numeric_only, …])返回分位數(shù)

DataFrame.rank([axis, method, numeric_only, …])返回?cái)?shù)字的排序

DataFrame.round([decimals])Round a DataFrame to a variable number of decimal places.

DataFrame.sem([axis, skipna, level, ddof, …])返回?zé)o偏標(biāo)準(zhǔn)誤

DataFrame.skew([axis, skipna, level, …])返回?zé)o偏偏度

DataFrame.sum([axis, skipna, level, …])求和

DataFrame.std([axis, skipna, level, ddof, …])返回標(biāo)準(zhǔn)誤差

DataFrame.var([axis, skipna, level, ddof, …])返回?zé)o偏誤差

從新索引&選取&標(biāo)簽操作

方法描述

DataFrame.add_prefix(prefix)添加前綴

DataFrame.add_suffix(suffix)添加后綴

DataFrame.align(other[, join, axis, level, …])Align two object on their axes with the

DataFrame.drop(labels[, axis, level, …])返回刪除的列

DataFrame.drop_duplicates([subset, keep, …])Return DataFrame with duplicate rows removed, optionally only

DataFrame.duplicated([subset, keep])Return boolean Series denoting duplicate rows, optionally only

DataFrame.equals(other)兩個(gè)數(shù)據(jù)框是否相同

DataFrame.filter([items, like, regex, axis])過濾特定的子數(shù)據(jù)框

DataFrame.first(offset)Convenience method for subsetting initial periods of time series data based on a date offset.

DataFrame.head([n])返回前n行

DataFrame.idxmax([axis, skipna])Return index of first occurrence of maximum over requested axis.

DataFrame.idxmin([axis, skipna])Return index of first occurrence of minimum over requested axis.

DataFrame.last(offset)Convenience method for subsetting final periods of time series data based on a date offset.

DataFrame.reindex([index, columns])Conform DataFrame to new index with optional filling logic, placing NA/NaN in locations having no value in the previous index.

DataFrame.reindex_axis(labels[, axis, …])Conform input object to new index with optional filling logic, placing NA/NaN in locations having no value in the previous index.

DataFrame.reindex_like(other[, method, …])Return an object with matching indices to myself.

DataFrame.rename([index, columns])Alter axes input function or functions.

DataFrame.rename_axis(mapper[, axis, copy, …])Alter index and / or columns using input function or functions.

DataFrame.reset_index([level, drop, …])For DataFrame with multi-level index, return new DataFrame with labeling information in the columns under the index names, defaulting to ‘level_0’, ‘level_1’, etc.

DataFrame.sample([n, frac, replace, …])返回隨機(jī)抽樣

DataFrame.select(crit[, axis])Return data corresponding to axis labels matching criteria

DataFrame.set_index(keys[, drop, append, …])Set the DataFrame index (row labels) using one or more existing columns.

DataFrame.tail([n])返回最后幾行

DataFrame.take(indices[, axis, convert, is_copy])Analogous to ndarray.take

DataFrame.truncate([before, after, axis, copy])Truncates a sorted NDFrame before and/or after some particular index value.

處理缺失值

方法描述

DataFrame.dropna([axis, how, thresh, …])Return object with labels on given axis omitted where alternately any

DataFrame.fillna([value, method, axis, …])填充空值

DataFrame.replace([to_replace, value, …])Replace values given in ‘to_replace’ with ‘value’.

從新定型&排序&轉(zhuǎn)變形態(tài)

方法描述

DataFrame.pivot([index, columns, values])Reshape data (produce a “pivot” table) based on column values.

DataFrame.reorder_levels(order[, axis])Rearrange index levels using input order.

DataFrame.sort_values(by[, axis, ascending, …])Sort by the values along either axis

DataFrame.sort_index([axis, level, …])Sort object by labels (along an axis)

DataFrame.nlargest(n, columns[, keep])Get the rows of a DataFrame sorted by the n largest values of columns.

DataFrame.nsmallest(n, columns[, keep])Get the rows of a DataFrame sorted by the n smallest values of columns.

DataFrame.swaplevel([i, j, axis])Swap levels i and j in a MultiIndex on a particular axis

DataFrame.stack([level, dropna])Pivot a level of the (possibly hierarchical) column labels, returning a DataFrame (or Series in the case of an object with a single level of column labels) having a hierarchical index with a new inner-most level of row labels.

DataFrame.unstack([level, fill_value])Pivot a level of the (necessarily hierarchical) index labels, returning a DataFrame having a new level of column labels whose inner-most level consists of the pivoted index labels.

DataFrame.melt([id_vars, value_vars, …])“Unpivots” a DataFrame from wide format to long format, optionally

DataFrame.TTranspose index and columns

DataFrame.to_panel()Transform long (stacked) format (DataFrame) into wide (3D, Panel) format.

DataFrame.to_xarray()Return an xarray object from the pandas object.

DataFrame.transpose(*args, **kwargs)Transpose index and columns

Combining& joining&merging

方法描述

DataFrame.append(other[, ignore_index, …])追加數(shù)據(jù)

DataFrame.assign(**kwargs)Assign new columns to a DataFrame, returning a new object (a copy) with all the original columns in addition to the new ones.

DataFrame.join(other[, on, how, lsuffix, …])Join columns with other DataFrame either on index or on a key column.

DataFrame.merge(right[, how, on, left_on, …])Merge DataFrame objects by performing a database-style join operation by columns or indexes.

DataFrame.update(other[, join, overwrite, …])Modify DataFrame in place using non-NA values from passed DataFrame.

時(shí)間序列

方法描述

DataFrame.asfreq(freq[, method, how, …])將時(shí)間序列轉(zhuǎn)換為特定的頻次

DataFrame.asof(where[, subset])The last row without any NaN is taken (or the last row without

DataFrame.shift([periods, freq, axis])Shift index by desired number of periods with an optional time freq

DataFrame.first_valid_index()Return label for first non-NA/null value

DataFrame.last_valid_index()Return label for last non-NA/null value

DataFrame.resample(rule[, how, axis, …])Convenience method for frequency conversion and resampling of time series.

DataFrame.to_period([freq, axis, copy])Convert DataFrame from DatetimeIndex to PeriodIndex with desired

DataFrame.to_timestamp([freq, how, axis, copy])Cast to DatetimeIndex of timestamps, at beginning of period

DataFrame.tz_convert(tz[, axis, level, copy])Convert tz-aware axis to target time zone.

DataFrame.tz_localize(tz[, axis, level, …])Localize tz-naive TimeSeries to target time zone.

作圖

方法描述

DataFrame.plot([x, y, kind, ax, ….])DataFrame plotting accessor and method

DataFrame.plot.area([x, y])面積圖Area plot

DataFrame.plot.bar([x, y])垂直條形圖Vertical bar plot

DataFrame.plot.barh([x, y])水平條形圖Horizontal bar plot

DataFrame.plot.box([by])箱圖Boxplot

DataFrame.plot.density(**kwds)核密度Kernel Density Estimate plot

DataFrame.plot.hexbin(x, y[, C, …])Hexbin plot

DataFrame.plot.hist([by, bins])直方圖Histogram

DataFrame.plot.kde(**kwds)核密度Kernel Density Estimate plot

DataFrame.plot.line([x, y])線圖Line plot

DataFrame.plot.pie([y])餅圖Pie chart

DataFrame.plot.scatter(x, y[, s, c])散點(diǎn)圖Scatter plot

DataFrame.boxplot([column, by, ax, …])Make a box plot from DataFrame column optionally grouped by some columns or

DataFrame.hist(data[, column, by, grid, …])Draw histogram of the DataFrame’s series using matplotlib / pylab.

轉(zhuǎn)換為其他格式

方法描述

DataFrame.from_csv(path[, header, sep, …])Read CSV file (DEPRECATED, please use pandas.read_csv() instead).

DataFrame.from_dict(data[, orient, dtype])Construct DataFrame from dict of array-like or dicts

DataFrame.from_items(items[, columns, orient])Convert (key, value) pairs to DataFrame.

DataFrame.from_records(data[, index, …])Convert structured or record ndarray to DataFrame

DataFrame.info([verbose, buf, max_cols, …])Concise summary of a DataFrame.

DataFrame.to_pickle(path[, compression, …])Pickle (serialize) object to input file path.

DataFrame.to_csv([path_or_buf, sep, na_rep, …])Write DataFrame to a comma-separated values (csv) file

DataFrame.to_hdf(path_or_buf, key, **kwargs)Write the contained data to an HDF5 file using HDFStore.

DataFrame.to_sql(name, con[, flavor, …])Write records stored in a DataFrame to a SQL database.

DataFrame.to_dict([orient, into])Convert DataFrame to dictionary.

DataFrame.to_excel(excel_writer[, …])Write DataFrame to an excel sheet

DataFrame.to_json([path_or_buf, orient, …])Convert the object to a JSON string.

DataFrame.to_html([buf, columns, col_space, …])Render a DataFrame as an HTML table.

DataFrame.to_feather(fname)write out the binary feather-format for DataFrames

DataFrame.to_latex([buf, columns, …])Render an object to a tabular environment table.

DataFrame.to_stata(fname[, convert_dates, …])A class for writing Stata binary dta files from array-like objects

DataFrame.to_msgpack([path_or_buf, encoding])msgpack (serialize) object to input file path

DataFrame.to_gbq(destination_table, project_id)Write a DataFrame to a Google BigQuery table.

DataFrame.to_records([index, convert_datetime64])Convert DataFrame to record array.

DataFrame.to_sparse([fill_value, kind])Convert to SparseDataFrame

DataFrame.to_dense()Return dense representation of NDFrame (as opposed to sparse)

DataFrame.to_string([buf, columns, …])Render a DataFrame to a console-friendly tabular output.

DataFrame.to_clipboard([excel, sep])Attempt to write text representation of object to the system clipboard This can be pasted into Excel, for example.

參考文獻(xiàn):?

http://pandas.pydata.org/pandas-docs/stable/api.html#dataframe

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末幽歼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子谬盐,更是在濱河造成了極大的恐慌甸私,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件飞傀,死亡現(xiàn)場(chǎng)離奇詭異皇型,居然都是意外死亡诬烹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門弃鸦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)绞吁,“玉大人,你說(shuō)我怎么就攤上這事寡键。” “怎么了雪隧?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵西轩,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我脑沿,道長(zhǎng)藕畔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任庄拇,我火速辦了婚禮注服,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘措近。我一直安慰自己溶弟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布瞭郑。 她就那樣靜靜地躺著辜御,像睡著了一般。 火紅的嫁衣襯著肌膚如雪屈张。 梳的紋絲不亂的頭發(fā)上擒权,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音阁谆,去河邊找鬼碳抄。 笑死,一個(gè)胖子當(dāng)著我的面吹牛场绿,可吹牛的內(nèi)容都是我干的剖效。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼焰盗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼贱鄙!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起姨谷,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤逗宁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后梦湘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞎颗,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡件甥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了哼拔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片引有。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖倦逐,靈堂內(nèi)的尸體忽然破棺而出譬正,到底是詐尸還是另有隱情,我是刑警寧澤檬姥,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布曾我,位于F島的核電站,受9級(jí)特大地震影響健民,放射性物質(zhì)發(fā)生泄漏抒巢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一秉犹、第九天 我趴在偏房一處隱蔽的房頂上張望蛉谜。 院中可真熱鬧,春花似錦崇堵、人聲如沸型诚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)俺驶。三九已至,卻和暖如春棍辕,著一層夾襖步出監(jiān)牢的瞬間暮现,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工楚昭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留栖袋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓抚太,卻偏偏與公主長(zhǎng)得像塘幅,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子尿贫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,446評(píng)論 0 13
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,292評(píng)論 0 10
  • 如今我們生活在一個(gè)快節(jié)奏的生活中电媳,我們只能試圖去適應(yīng)這個(gè)社會(huì),拖拖拉拉庆亡、猶豫不決必定會(huì)被社會(huì)所淘汰匾乓,高效能...
    可絲閱讀 340評(píng)論 3 7
  • (一)小山雀 小山雀什么也不是 小山雀就是小山崔 小山雀是她的名字 很美 美得如三月的雨絲 飄飄又停停...
    湘中布衣秀才閱讀 301評(píng)論 1 2
  • 在易效能親子班曹桂云教練的帶領(lǐng)下,通過21天的閱讀打卡又谋,仔細(xì)閱讀了《非暴力溝通親子篇》這本書拼缝,有了很多的收獲:首先...
    G192小美閱讀 246評(píng)論 0 10